What began as a peaceful protest over an unsolved killing became Moscow's worst anti-migrant unrest in three years.
Local residents turned out earlier in the day to demand more police action over last week's stabbing of a 25-year-old man they blame on a migrant.
As more swelled the ranks to several thousands the protest erupted into racist chanting, rioting and clashes with police.
Some stormed a vegetable warehouse which employs workers from the Caucasus and Central Asia.
Others attacked a shopping centre and businesses known to employ migrant staff.
Extra police were drafted in to quell the violence although sporadic clashes and arrests went on late into the night.
About 380 people have been detained.
Police said several officers have been injured.
It was the worst unrest over a racially-charged incident in the Russian capital since 2010 when thousands rioted over the killing of an ethnic Russian soccer fan.
The country's top inve