Protesters carried banners bearing nationalist and anti-immigrant slogans, officials said. "Russians" and "Today a mosque, tomorrow jihad," read some of the banners, RIA Novosti reported.
Police said the march, held every year on the country's National Unity Day holiday, drew about 8,000 people. Organizers placed the number at more than 20,000.
About 30 people were arrested for "wearing masks, minor public order offenses, shouting Nazi slogans and using banned symbols," police said.
Similar marches were held across the country.
About 1,000 individuals remained at the protest site for a rock concert after the demonstration, ITAR-Tass reported.