CLEVELAND - It may not have been his most violent, but Donald Trump's Saturday rally at a cavernous exposition centre in Cleveland saw plenty of protests, both inside and out.
Trump received a rock star welcome from thousands of supporters who embrace his message of being tough on immigration, playing hardball with China and others on trade, and rebuilding the military.
"Are we going to win Ohio!?" he boomed, earning a deafening roar from the crowd that gathered just three days before Ohio holds its presidential primaries for Republicans and Democrats.
But within a minute of the brash billionaire taking the stage, opponents of his campaign disrupted the event, chanting "Dump Trump" and waving anti-Trump signs.
"Where do these people come from?" Trump mused as security escorted some protesters from the rally.
A protester and a Trump supporter scuffled in the middle of the crowd.
"These are Bernie's people," he taunted, referring to Senator Bernie Sanders, who is challenging Hillary Clinton for the Democratic nomination.
Sure enough, in the sea of Trump campaign posters, one young woman held up a hand-drawn, red white and blue "Bernie" sign.
She was quickly led away.
Trump at first made light of the protests, but eventually grew irritated, ordering: "Get 'em the hell out." Protesting a Trump rally has become dangerous political activity in recent days. A black man was sucker-punched in North Carolina as he was led out of a Trump event.
Chaos erupted at a planned Chicago rally on Friday, forcing the real estate mogul to cancel his appearance.
The scuffle has been compared to the far more violent Democratic National Convention of 1968 in the same city.
State and local law enforcement were very visible at Cleveland's rally, where some police outside rode armored horses. Trump's own security detail and the US Secret Service were on hand.
At a separate rally in Dayton earlier in the day, a protester tried to breach a security buffer, prompting Secret Service to form a protective circle around the candidate.
Still, things turned heated outside in Cleveland.
About a dozen protesters holding signs that read " Trump Wants to make America Hate Again" got into loud, sometimes testy back-and-forth arguments with Trump supporters.
More than 100 people encircled the protesters, some taunting them or shouting "Get a job" and "All lives matter," a twist on the African American activist movement "Black Lives Matter." "You want free health care? Join the military!" screamed one Trump fan.
"It was tense," 24-year-old graduate student Joy Childress told AFP after things calmed down.
She said people were shouting "Go back to Africa" at her.
Eventually, sheriff's deputies intervened and defused the confrontation.
"The ignorance was real among this crowd," Childress said. "They were arrogant too. If you have arrogance on top of ignorance, that creates a bunch of bigotry."
Trump has been under fire for the provocative nature of his rallies. At one event, Trump told a protester who disrupted his speech that he would like to "punch him in the face."
While Trump called for protesters' ejection on Saturday, he showed restraint, using none of the forceful language that earned him rebukes in the past.
"That was inappropriate what he said before. He needs to defuse the situation more," said Nicole Blazek, a store manager from Cleveland who was waving the flag for Trump.
Blazek, 32, admitted she was "a little nervous" as she waited in line to enter the rally, but then felt reassured by the Secret Service presence.
A few dozen protesters also lined up on the entrance road outside the expo, holding signs that read: " Trump is Hitler's son."
As he waited to get inside, Bill Burns, a small business owner from Shefield Lake, bristled when asked about Chicago's unrest and whether Trump bore any blame.
"No not at all. All the problems are from the protesters," said Burns, 41.
"You see them standing on the American flag. That's just garbage." Trump is his man, Burns said, because he "speaks how he feels" and loathes political correctness.
Not everyone who crashed Trump's party was an agitator.
Two women who support Sanders said they unzipped their sweatshirts mid-rally to reveal "Feel the Bern" shirts underneath.
Trump fans converged on them and shouted for their expulsion.
The women said local police came over to investigate, and when they saw the women doing nothing to disrupt the event, they let them stay and walked away.