It being the largest city in South Africa, there is no surprise that Johannesburg is the best serviced by intercity buses; with a plethora of routes covered.
The most common bus stop in Johannesburg (for intercity buses) is at Park City Transit Centre, also known as "Johannesburg Park Station", which is in Braamfontein on the corner of Leyds & Loveday Streets, with access from Rissik Street.
There is also:
a Gautrain Park Station connection below Wolmarans and Smit streets.
Shosholoza Meyl long distance train services, and Premier Classe.
You can phone Greyhound at 011 611 8000 or 083 915 9000.
Cape Town to Johannesburg (via Kimberley or Bloemfontein)
Durban to Johannesburg
East London to Johannesburg
Port Elizabeth to Johannesburg
Cape Town to Johannesburg
Durban to Johannesburg
Harare to Johannesburg
Maputo to Johannesburg
PE to Johannesburg
Phalaborwa to Johannesburg via Nelspruit
Umtata to Johannesburg
Cape Town to Johannesburg
Durban to Johannesburg
East London to Johannesburg
Port Elizabeth to Johannesburg
Umtata to Johannesburg
Bloemfontein to Johannesburg
Bulawayo to Johannesburg
Butterworth to Johannesburg
Cape Town to Johannesburg via Kimberley or Bloemfontein (Kimberley is quicker)
Durban to Johannesburg
East London to Johannesburg
Harare to Johannesburg
Kimberley to Johannesburg
Maputo to Johannesburg
Mossel Bay to Johannesburg
Nelspruit to Johannesburg
Newcastle to Johannesburg
Polokwane to Johannesburg
Port Elizabeth to Johannesburg
Cape Town to Johannesburg (via Bloemfontein)
Durban to Johannesburg
East London to Johannesburg
Mzuzu to Johannesburg
Port Elizabeth to Johannesburg
Springbok to Johannesburg
Upington to Johannesburg
Windhoek to Johannesburg
Cape Town to Johannesburg
Durban to Johannesburg
East London to Johannesburg
Nelspruit to Johannesburg
Sibasa to Johannesburg