The far-right protesters gathered in a riverfront park as part of a rally organized by two groups, Patriot Prayer and the Proud Boys, both supporters of US President Donald Trump.
Protesters were marching to back Republican nominee for the US Senate, Joey Gibson when faced with hundreds of rival demonstrators, made up of a collation of labor unions, immigrant rights advocates, democratic socialists and other groups.
The counter protesters were holding banners and signs with opposition messages such as "Alt right scum not welcome in Portland," and some were chanting "Nazis go home."
Self-described anti-fascists have been organizing anonymously online to confront Patriot Prayer and the Proud Boys.
The organizers argue that while Patriot Prayer says it is not a white supremacist group, it affiliates itself with known white supremacists, white nationalists and neo-Nazi gangs.
"Patriot Prayer is continuing to commit violence in our city, and their events are becoming more and more violent," said Effie Baum of Pop Mob, a coalition of community groups organizing the counter-demonstration. "Leaving them a small group to attack in the streets is only going to allow them to perpetuate their violence."
Police intervened and ordered the demonstrators to disperse after they had thrown rocks and bottles at officers.
"Failure to comply with this order may subject you to arrest or citation, and may subject you to the use of riot control agents or impact weapons," police said on Twitter and on a loudspeaker at the scene.
Four people were arrested during the protests, according to the Portland Police Bureau, which also said officers seized "multiple weapons throughout the day."