Trump's endorsements came at a rally in Green Bay, Wisconsin.
"We will have disagreements, but we will disagree as friends and never stop working together toward victory. And very importantly, toward real change," Trump said, reading off a prepared statement. "So in our shared mission, to make America great again, I support and endorse our speaker of the House, Paul Ryan."
Trump earlier in the week had declined to endorse Ryan and McCain, as well as New Hampshire Sen. Kelly Ayotte.
"And while I'm at it, I hold in the highest esteem Sen. John McCain for his service to our country in uniform and in public office, and I fully support and endorse his re-election," said Trump, before backing Ayotte.
The real estate mogul's campaign immediately sent out a list-building email to supporters, writing, "It's time to unite our Party and deny a third term of Obama. I have officially endorsed Paul Ryan -- and together, we will fight for YOU, and together we will Make America Great Again!"
Trump's endorsements came more than 10 minutes after he began reading his statement, cutting in several times to offer tangential remarks -- from again rehashing an incident involving a crying baby at a recent rally to touting the strength of his fundraising.
Trump heavily emphasized his outsider status in the lead-up to delivering his endorsements of three incumbent Republicans with a combined tenure in Congress of more than a half century.
"It's time to change a rigged political system that works only for the insiders and to replace it with a government that serves the people," Trump said.
But then, Trump pointed out that he owes his success to his ability to put together "a really fantastic team" and stressed that he would need a Republican House and Senate to accomplish his agenda as president.
And while he did not shy away from the disagreements he has had with Ryan, McCain and Ayotte -- all of whom have not hesitated to criticize Trump at times -- the Republican nominee leaned on a GOP icon to massage his endorsement.
"My 80% friend is not my 20% enemy," Trump said, quoting President Ronald Reagan. "We are going to be the big tent party."
The move comes just days ahead of Ryan's Tuesday primary matchup with challenger Paul Nehlen, who had played up Trump's refusal to back the speaker -- as well as Ryan's tepid support for Trump.
It's not clear that Ryan is keen to receive Trump's endorsement. He repeatedly told Wisconsin radio stations in recent days that he's only seeking endorsements from the voters in his district, and a Ryan aide said he hadn't received word as of early Friday afternoon of Trump's plans.
After the endorsement, another Ryan aide said the speaker "appreciates the gesture and is going to continue to focus on earning the endorsement of the voters in Southern Wisconsin."
Nehlen, who was at the rally, told CNN Friday night that Trump's endorsement was for "party unity" and not a statement of support for Ryan's policies.
"Mr. Trump did this for party unity and I applaud him for that," Nehlen said. "That is the mark of a true leader."
Nehlen insisted it wasn't awkward to stand in a sea of people cheering and applauding as Trump announced his endorsement of the House speaker.
"I fully expected it," said Nehlen, who added that he did not speak with or meet with Trump in recent days beyond their public exchange on Twitter.
Meanwhile, Ayotte -- who said in June
she will vote for Trump but was "not endorsing anyone" -- issued a tepid statement Saturday through a spokeswoman: "I appreciate his support, and I look forward to defeating Maggie Hassan and Hillary Clinton in November."
'I'm not quite there yet'
Trump had balked
at endorsing Ryan on Tuesday in an interview with The Washington Post, a move that intensified concerns about his presidential campaign within the GOP as Trump already faced controversy over his criticism over the weekend of the parents of an American soldier killed in combat.
"I like Paul, but these are horrible times for our country. We need very strong leadership. We need very, very strong leadership. And I'm just not quite there yet. I'm not quite there yet," Trump said in the Post interview.
The remarks infuriated many in the Republican establishment, and a GOP source told CNN Republican National Committee Chairman Reince Priebus was especially frustrated
because Ryan and Priebus, both from Wisconsin, are very close. On Friday, Priebus announced
that he and his wife voted for Ryan.
Trump's running mate, Indiana Gov. Mike Pence, did endorse
Ryan the following day -- a move that both Pence and Trump have said occurred with Trump's blessing.
"I strongly support Paul Ryan, strongly endorse his re-election," Pence, a longtime congressional colleague of Ryan's, said in a phone interview with Fox News. "He is a longtime friend. He's a strong conservative leader. I believe we need Paul Ryan in leadership in the Congress of the United States."
Ryan told WTMJ's Charlie Sykes, a Wisconsin talk radio host, on Friday morning that he hadn't spoken with Trump since the Republican convention ended last month.
Ryan, who withheld his own endorsement of Trump for weeks after Trump had clinched the party's nomination, deflected Sykes' questions about whether he might withdraw that support.
"I'm not going to get into any hypotheticals," he said. "I see no purpose in doing this tit for tat petty back and forth with Donald Trump cause it serves no good purpose in my mind."
Ryan had dismissed the importance of a Trump endorsement Friday morning in another local radio interview with WISN's Jay Weber.
"I'm not going to try and psychoanalyze this stuff," the House speaker told Weber. "Honestly, the endorsement, personally the ones that I care about, are the ones from the people here in Wisconsin, my first congressional district employers. So you know I'm just going to rise above this stuff, and I'm not going to get involved in some sort of petty back and forth, I see no purpose in doing that."