Johannesburg est une ville construite pour la voiture, les transports publics sont en cours de développement. Le Gautrain (train rapide ne faisant pas partie du système de métro) est un bon moyen, propre et sûr, pour se déplacer rapidement entre l'aéroport, Malboro, Midrand, Rosebank, Pretoria et Centurion. Il y a des bus et minibus dans les rues, mais ils ont tendance à ne pas avoir d'arrêts fixes. Les bus peuvent être hélés sur les rues principales, comme Oxford Street et Jan Smuts. Ils peuvent être dangereux, mais les grands bus métropolitains à deux étages sont faciles à utiliser le long d'Oxford. Ils partent de Gandhi Square et passent par Killarney, Rosebank, Illovo, Sandton, Rivonia et Sunninghill (bus n° 5C et 5D). Les bus oranges Putco ont des horaires plus réguliers que les bus urbains et sont un peu plus chers. Enfin, il y a les bus de desserte Gautrain, connectés au Gautrain. Ils ont des itinéraires très étendus, à partir de chaque gare, qui peuvent être trouvés facilement sur les sites Gautrain ou Mobi. Les dessertes sont assez aléatoires le week-end et les jours fériés : les bus Gautrain ne fonctionnent pas, les bus urbains ne desservent que deux itinéraires et les bus Putco sont à l'arrêt complet. C'est alors que le train est une bonne solution de remplacement, ou alors la location de voiture.