Several hundred people turned up in Heidenau, near Dresden, to demonstrate against the expected arrival of hundreds of refugees in a protest called by the far-right National Democratic Party.
Police intervened with teargas after some protesters blocked the road.
Demonstrators then began throwing stones, bottles and firecrackers, the DPA news agency reported.
Several people on both sides were injured, but it was not clear how badly.
By Saturday morning, calm had returned, a police spokesman told AFP, saying officers were deployed in the area around a former DIY superstore which has been refitted to house several hundred refugees.
Several hours after the clashes ended, some 250 refugees were able to enter the building.
The German authorities have been alarmed over a rise in violent attacks targeting places earmarked for refugee accommodation.
Germany is bracing for a record influx of up to 800,000 asylum seekers this year.