Supporters knelt and others bowed their heads as Donald Trump led a moment of silence at 6:11 pm, the time when shots rang out at a rally in the same rural Pennsylvania showground exactly 12 weeks earlier.
An opera singer belted out "Ave Maria" as a Secret Service sniper scanned the horizon with binoculars and a surveillance drone hovered above the tens of thousands of rallygoers. Heavily armed officers patrolled behind the stage.
The crowd in Butler periodically erupted into chants of "fight, fight, fight" -- echoing Trump's rallying cry just after the July 13 shooting that grazed his ear and briefly upended the campaign for November's election.
"I love the fact that he came back... He said he'd come back to finish his speech, and to me (that takes) guts," said Robert Dupain, 53, a local construction worker who was at the July rally.
"That's what (these) 50,000 people stand for," said Dupain, who described having "nervous excitement all week" about attending.
Though there was no official count, Saturday's rally was significantly better attended than the previous one.
Trump's return to Butler, a deeply conservative community in the key swing state of Pennsylvania, was marked by noticeably tighter security.
"As I was saying," Trump said to laughter from behind bulletproof glass as he began his speech, riffing on the violent interruption to his July monologue.
The same chart towards which Trump turned his head at the moment the would-be assassin open fired three months ago was also flashed up on a big screen Saturday, to cheers.
In a typically meandering speech, Trump repeated lies about immigration, transgender athletes and his political opponents.
The would-be assassin had fired from a complex of buildings left outside the security perimeter, despite its proximity to Trump's podium. It was ringed by state police on Saturday.
Trucks were also parked around the venue, blocking potential sightlines.
'Unnerving'
"There's a lot going on that's unnerving," said Heather Hughes, 43, who had traveled from New Castle in Pennsylvania.
"Do I think he's safe? No, I think there's going to be another attempt. But I think he's going to make it through."
Trump on Saturday suggested his opponents had "maybe even tried to kill me."
The gunman in July was quickly shot dead by a countersniper, but not before he killed rallygoer Corey Comperatore, a firefighter, and wounded two others.
The sound of a bell ringing four times was played at the beginning of Trump's speech, once for each victim including the former president.
An artist created a memorial of Comperatore, complete with his firefighter's helmet, while a singer performed a song about the shooting.
The July attempt, and a September incident at Trump's golf course in Florida that the FBI said was another attempted assassination, raised fears the campaign and the November vote could be marred by more violence.
Retiree Glen Scheirer, who along with five relatives were wearing identical "By the grace of God" T-shirts, described the 20-year-old gunman as "mentally ill," but suggested he could have been influenced by rhetoric calling Trump a threat to democracy.
'Fight, fight, fight'
The crowd chanted Comperatore's name when the mayor of nearby Slippery Rock, Jondavid Longo, paid tribute to the victims of July 13.
"We're glad to welcome president Trump back to Butler," he said.
"His return is not just political -- it signifies our refusal to be defined by tragedy."
James Sweetland, a doctor who ran to Comperatore in the wake of the shooting, told the crowd that "an assassin's bullet should not decide our election."
He was called on once again Saturday when a rallygoer was taken ill in the grandstand alongside the stage.
Sally Sherry, a first responder at Butler Memorial Hospital who treated Trump, said he was not the hard character "like you see on TV."
"I wasn't supposed to make it," Trump reflected. "I'm a little bit embarrassed to say it, but fight, fight, fight!"
(Except for the headline, this story has not been edited by NDTV staff and is published from a syndicated feed.)