Police arrested at least 13 people and seized metal poles, bear spray and other weapons on Saturday as hundreds of far-right protesters and anti-fascist counter-demonstrators swarmed downtown Portland, Oregon.
Authorities closed bridges and streets to try to keep the rival groups apart. They were largely successful.
"This was a dynamic event with demonstrators frequently moving from one part of the city to another," Mayor Ted Wheeler said at an evening news conference.
As of early afternoon, most of the right-wing groups had left the area via a downtown bridge. Police used officers on bikes and in riot gear to keep black-clad, helmet- and mask-wearing anti-fascist protesters - known as antifa - from following them.
But hundreds of people remained downtown and on nearby streets, and there were skirmishes throughout the day. Police declared a gathering of mostly left-wing protesters near Pioneer Courthouse Square a "civil disturbance" and told people to leave.
Police spokeswoman Lt. Tina Jones at one point said there were about 1,200 on the streets, but that number fell throughout the day. Six people suffered minor injuries.
The events began late on Saturday morning. Flag-waving members of the Proud Boys, Three Percenters militia group and others gathered downtown, some also wearing body armor and helmets. Police said they had seized the weapons, including shields, from multiple groups as they assembled along the Willamette River, which runs through the city.
More than two dozen local, state and federal law enforcement agencies, including the FBI, were in the city for the right-wing rally. Portland Police said all of the city's 1,000 officers would be on duty for the gathering that was hyped on social media and elsewhere for weeks.
President Donald Trump weighed in early on Saturday, writing on Twitter that "Portland is being watched very closely ... Hopefully the Mayor will be able to properly do his job."
He also wrote that "major consideration is being given to naming ANTIFA an 'ORGANISATION of TERROR.'"
But it wasn't immediately clear what he meant by that as there's no mechanism for the United States government to declare a domestic organisation a terror group.
Wheeler responded to the president's tweet in an interview with CNN, saying, "frankly, it's not helpful."
At the evening news conference Wheeler tied the demonstrations to "a rising white nationalist movement."
"We're certainly seeing that play out. ... Portland being a very progressive community is always going to be at or near ground zero of this battle," Wheeler said.
The self-described anti-fascists had vowed to confront the right-wing rally, while leaders from the far right urged their followers to turn out in large numbers to protest the arrests of six members of right-wing groups in the run-up to the event.
Patriot Prayer's Joey Gibson, who organised similar rallies in 2017 and 2018 that erupted in clashes, surrendered on Friday on an arrest warrant for felony rioting. He was at a confrontation that broke out on May 1 outside a bar where antifa members had gathered after a May Day demonstration.
In a video he livestreamed on Facebook, Gibson accused the police of playing politics by arresting him but not the masked demonstrators who beat up conservative blogger Andy Ngo at a June 29 rally that drew national attention.
A video of that attack went viral and led the Proud Boys, who have been designated a hate group by the Southern Poverty Law Centre, to organise Saturday's event.
Police continue to investigate several incidents from clashes on May 1 and June 29 and are politically neutral, Jones said.
Authorities had asked residents not to call 911 unless it's a life-threatening emergency and to stay away from the heart of downtown.
Portland Police Chief Danielle Outlaw said authorities tried to keep everyone safe and allow people to exercise their free speech rights.
"Today was a long and arduous day," Outlaw said at the news conference. "The disruptions were held to a very small area of downtown Portland."