Police said about 200 foreigners took refuge at a police station, and 12 people were arrested over the attacks.
The violence comes despite Thursday’s rally against xenophobia in the coastal city of Durban, and condemnation from President Jacob Zuma.
At least five people have died in anti-foreigner attacks in recent weeks.
Many jobless South Africans accuse foreigners of taking jobs in a country where the unemployment rate is 24%.
A crowd began looting foreign-owned shops in East Johannesburg on Thursday night,a car, and a building believed to house foreigners, were set on fire.
Police fired tear gas and rubber bullets to disperse the looters. Correspondents say no serious injuries have been reported.