About 300 Latvians marched through Riga on Monday to honour soldiers who fought in an elite nazi unit during World War II.
Several dozen representatives from Latvia's anti-fascist committee held a counter-demonstration, chanting: 'Hitler Kaput.'
Police set up barricades to keep the two sides apart.
Riga city officials had prohibited the Legionnaires Day commemoration, but police did not prevent the procession of ageing Waffen SS veterans and their supporters as they marched from an Old Town cathedral.
And they did not stop the rightwingers from laying wreaths at the capital's Freedom Monument.
But riot police swooped on the counter-demonstration and seized a red hammer-and-sickle flag.
Four anti-fascists were detained for 'unruly behaviour.'
The Russian Foreign Ministry condemned the Legionnaires Day rally as a march by nazi supporters and drew parallels between it and Holocaust denial.
Soviet soldiers moved into Latvia, Lithuania and Estonia in June 1940 but were driven out by nazi occupation forces a year later.
The nazis killed 80,000 Jews, or 90 per cent of Latvia's pre-war Jewish population, before the Red Army liberated the country in 1944.
Relations between Russia and Latvia and Estonia have been strained by the two Baltic states' persecution of Red Army veterans and the revival of ultra-nationalism and fascism.
The dismantling of the Soviet war memorial, the Bronze Soldier, in Tallinn just before the May 9 2007 Victory Day celebrations in Russia triggered street protests in which over 1,000 people were arrested and one Russian national was killed.