PORTLAND, Ore. (Reuters) - Riot police turned out in force in downtown Portland on Sunday to maintain order as supporters and opponents of President Donald Trump faced off in dueling political rallies, a week after racially charged killings that shook Oregon’s largest city.

The Trump Free Speech Rally drew hundreds of demonstrators to a public square near City Hall, where a far larger throng of counter-protesters and onlookers massed on three sides of the park in a heated encounter that grew tense at times but remained mostly peaceful.

Dozens of black-clad, masked anti-Trump protesters waved an “Antifascist Action” flag at pro-Trump activists across the street at one point, yelling: “Nazis, go home,” while members of the opposing rally, some carrying American flags, chanted: “USA, USA.”

A phalanx of helmeted police officers took up positions to keep the two sides apart, break up scuffles and detain protesters seen crossing police lines to agitate the other side.

Police reported 14 arrests throughout the day, and displayed photos on Twitter of weapons seized from demonstrators, including a hunting knife, brass knuckles, clubs, roadside flares, a slingshot and several homemade shields. No injuries were reported.

Tempers and shoving matches flared periodically, but law enforcement kept violence mostly in check. Late in the day, as the pro-Trump rally was ending, police ordered counter-demonstrators to disperse from two adjacent parks, prompting some in the crowd to hurl rocks and other projectiles at officers.

Officers responded by firing volleys of “pepper ball” rounds. Police earlier reported seeing protesters removing bricks from the exterior of a public restroom.

Slideshow ( 8 images )

The confrontation wound down after police corralled a group of about 200 stragglers on a nearby street, then herded them single file through a checkpoint where each was photographed and ordered to show identification before being released.

TENSIONS HIGH

Tensions were already running high a week after a man yelling religious and racial slurs at two teenage girls on a Portland commuter train stabbed three passengers who intervened, killing two of them.

One of the girls accosted in the incident, which the FBI is investigating as a suspected hate crime, was black, and the other wore a Muslim head scarf.

Jeremy Christian, a 35-year-old with a prior felony record, was arrested and charged with murder in the May 26 attack, which Trump condemned as “unacceptable” while saluting the victims for “standing up to hate and intolerance.”

Portland Mayor Ted Wheeler urged federal authorities last week to rescind a permit for Sunday’s pro-Trump rally, saying he worried about inflaming passions after the stabbings.

Slideshow ( 8 images )

But the U.S. General Services Administration, which manages the protest site, denied Wheeler’s request, saying the permit was lawfully obtained weeks earlier.

Still, left-wing activists seized on the stabbings as a rallying cry for counter-protests on Sunday.

“I’m here today to stand against the hate he was spewing out,” said Sharon Maxwell, 52, of Portland. “As a woman of color, I’m not going to stand for that.”

John Turano, 49, a welder from Los Angeles dressed in red, white and blue with a metal breastplate and helmet, said he was attending the pro-Trump rally as a “defender,” accusing the other side of trying “to take away the rights of people here.”

Stewart Rhodes, a leader of the right-wing Oath Keepers militia, told Reuters that members of his group provided security for the Trump rally at the request of a local Republican Party chairman.