Rival demonstrators clashed Saturday afternoon in downtown Portland, resulting in myriad injuries and three arrests.

Protesters from the left and right held separate demonstrations that eventually resulted in roving marches throughout the downtown core, halting traffic and public transit for much of the early afternoon amid the busy tourist season. Police declared a civil disturbance and unlawful assembly shortly after 3 p.m., and crowds dispersed before the afternoon concluded.

The demonstrations, which were mostly peaceful, started at about noon in Lownsdale and Pioneer Courthouse squares. Video of one skirmish, in which a local conservative writer was apparently attacked by a group of left-wing protesters, quickly spread across the internet.

At Lownsdale, a group opposing right-wing demonstrators pumped music and distributed vegan milkshakes. Meanwhile a separate, loosely organized demonstration by the #HimToo movement occurred at Pioneer Courthouse Square. Group members say they support men who have been falsely accused of rape.

Protesters from the competing factions converged near Pioneer Courthouse Square, leading to brief flashes of violence and pointed confrontations.

At one point, people in the crowd threw eggs and milkshakes at Portland police officers. Some milkshakes that were thrown may have contained “a substance similar to quick-drying cement,” police said. They also asked for people who witnessed violent assaults to email them. Protesters were also seen using bear and pepper spray.

Officers deployed pepper spray into the crowd near the Pioneer Courthouse Square at some point during the protests.

Police said they arrested three people during the course of the afternoon. Gage Halupowski, 23, was charged with second-degree assault and assault of a police officer, both felonies, as well as resisting arrest and interfering with a police officer. Maria DeHart, 23, was charged with second-degree disorderly conduct and harassment. James Stocks, 21, was charged with harassment.

Medics treated eight people, including three officers, for injuries, according to police. One officer was punched in the arm, another officer was hit in the head by a projectile and two were pepper-sprayed. At least two people were seen being treated for injuries near the Nines hotel on Southwest Morrison Street.

Police said three of the injured people received medical care at area hospitals. Among the people injured over the course of the afternoon was Andy Ngo, the conservative writer who appeared to be attacked by antifa members.

The demonstrations came nearly a year to the day after Patriot Prayer and antifascist activists broke out in violence last June 30. Portland police declared that clash a riot.

— The Oregonian/OregonLive

Jim Ryan, Everton Bailey Jr., Molly Young, Kale Williams, Christina Morales, Peter Talbot and McKenna Ross of The Oregonian/OregonLive staff contributed to this report