Både lokalbefolkningen och invandrarna anslöt sig till protesten med plakat som sade "Afrika Unite" och "Välkomna utlänningar".
En anti-xenofobisk protest ägde också rum i kuststaden Port Elizabeth.
Sydafrikas armé sändes ut till flashpoints tidigare i veckan för att förhindra ytterligare våld.
Minst sju personer har dödats, 5000 har lämnats hemlösa och många utländska butiker plundrades sedan attackerna började för ungefär tre veckor sedan.
"Vi kommer att besegra främlingsfientlighet som vi besegrade apartheid," premiärministern i Sydafrika Gauteng provinsen, David Makhura, berättade publiken i Johannesburg.
Gauteng är Sydafrikas ekonomiska hjärta och inkluderar Johannesburg.
Många arbetslösa sydafrikaner anklagar utlänningar för att ta sitt jobb.
Sydafrika har en officiell arbetslöshet på omkring 25 procent.
BBC: s Pumza Fihlani, som var på plats, sade publiken marscherade genom Johannesburgs Hillbrow förort, som vissa beskriver som Lagos på grund av dess enorma nigerianska befolkning.
Protester sjöng en sorglig sång, Senzenina, eller "Vad har vi gjort?" Det var populärt på begravningar av anti-apartheid aktivister under vit-minoritet styre.
"Mandela måste vända sig i sin grav. Detta är inte Sydafrika han kämpade för," Johannesburg bosatt Vusi Hlongwane berättade BBC.
Sydafrikas frihet vanns genom en sådan solidaritet. "Afrika för alla" var det budskap som delades av tiotusentals människor som marscherade genom Johannesburgs gator.
Ett hav av människor från olika delar av kontinenten bar fanor till stöd för dagens händelse. De hoppas att samma anda som ledde detta land till frihet kommer att bidra till att skapa enighet här.
De senaste veckornas händelser har dragit skam över många sydafrikaner och landet.
Men många talare försökte påminna sydafrikaner om att det på apartheidtiden var resten av Afrika som blev ett hem för landets ledare och påminde dem om att dess befrielse vanns med stöd av hela kontinenten.
"De välkomnades med öppna armar och aldrig behandlat hur en del av er behandlar dem nu", sade en ledare.
När de dansade och sjöng tillsammans och krävde ett slut på det våld som har fört med sig fruktan för vissa samhällen här, ropade en grupp: "Det här är för Mandela!" En annan ramsad "Mayibuye iAfrika" - en gammal slogan som kräver ett återupplivande av Afrika. Under dessa timmar verkade det som om Afrika stod enat.
I Port Elizabeth hölls en tyst marsch med några demonstranter som viftade med en zimbabwisk flagga och med plakat som sade: "Mångfald är vår styrka".
Sydafrika har drabbats av en motreaktion över Afrika när det gäller attackerna.
Officiella uppgifter tyder på att det finns omkring två miljoner utländska medborgare i Sydafrika, omkring 4 procent av den totala befolkningen. Men enligt vissa beräkningar uppgår antalet invandrare till fem miljoner.
De flesta av dem är afrikaner och asiater som kom till Sydafrika när apartheid slutade 1994, med valet av Nelson Mandela som Sydafrikas första svarta ledare.
Omkring 30 000 människor har deltagit i en marsch genom Sydafrikas största stad, Johannesburg, för att kräva ett slut på en våg av främlingsfientliga attacker på senare tid.