Thousands of people, carrying placards saying "Xenophobia hurts like apartheid," and "We stand against xenophobia" brought traffic to a standstill in Johannesburg's business district.
People in the Hillbrow flatland district, home to many African immigrants, cheered the march, organised by church organisations and labour unions.
Police said townships around Johannesburg were quiet but shops were looted and burnt outside Cape Town late on Friday.
The South African government has been criticised for its slow reaction to the violence, the worst since apartheid ended 14 years ago, and for not adequately addressing poverty widely blamed for the bloodshed.
The conflict started in Johannesburg's Alexandra township on May 11, and has spread to Cape Town and the eastern port city of Durban.
At least 42 people have been killed and more than 25,000 driven from their homes in 13 days of attacks by mobs who have stabbed, clubbed and burnt migrants from other parts of Africa they accuse of taking jobs and fuelling crime.
Police said townships around Johannesburg were quiet on Saturday and in South Africa's premier tourism destination of Cape Town, security forces were monitoring several flashpoints after anti-foreigner violence continued during the night.
Superintendent Andre Traut said shops were looted and burnt in Du Noon squatter settlement and in Kraaifontein outside Cape Town, as well as the city's largest township, Khayelitsha where an estimated 1-million people stay.
"Most of the incidents (on Friday night) occurred in Khayelitsha where we had our hands full to protect the community," Traut said. Most foreigners left the area voluntarily or were escorted by police.
The violence comes amid power shortages and growing discontent which have rattled investors in Africa's biggest economy.
Officials in the tourism industry are worried overseas visitors will stay away. The country hopes to draw half a million extra tourists for the 2010 soccer World Cup.