L'histoire de Johannesbourg mêle richesses et conflits. La terre sur laquelle la ville repose aujourd'hui existe depuis des millions d'années, et un peu plus récemment était occupée par les San, les Sotho-Tswanas et d'autres peuples africains. Mais des vagues successives d'empires européens transformèrent radicalement et à jamais l'Afrique du Sud : les Néerlandais s'établirent d'abord dans la zone, puis vinrent les Britanniques. Lorsque les seconds prirent la place des premiers, les colons néerlandais migrèrent au nord, à l'intérieur du pays, où ils s'installèrent. Puis, dans les années 1880, là où bientôt se trouverait Johannesbourg, un colon découvrit un dépôt d'or dans le Witwatersrand.
La ville se développa alors très rapidement, les orpailleurs affluant dans la région en quête du précieux métal, les propriétaires terriens cherchant à contrôler le territoire, et les ouvriers de tout le pays se mettant en tête de trouver du travail dans les mines. À l'époque, l'endroit était sans foi ni loi, entre mineurs, gangsters et autres individus issus de la région entière, incluant notamment (et de façon surprenante) une industrie de la blanchisserie dominée par les Zoulous. Si les Afrikaners néerlandais et les colons britanniques donnèrent leur nom à la ville naissante, "Johannes" étant le prénom néerlandais le plus en vogue à l'époque, la majorité de la population n'en restait pas moins africaine.
À l'époque, la zone était contrôlée par la Zuid-Afrikaansche Republiek, la République sud-africaine des Boers (ou Néerlandais), un état ayant résisté à l'expansion britannique lors de la première guerre des Boers et brièvement existé sous forme de république indépendante. Il ne résista cependant pas à l'empire lors de la seconde guerre des Boers, qui vit la population fuir Johannesbourg, pour être en partie remplacée par une communauté chinoise.
Cet accent mis sur les mines allait définir Johannesbourg. Soweto, quartier réservé aux mineurs noirs africains, grandit jusqu'à dépasser en taille la ville centrale, et sous le système raciste de l'apartheid, mis en place en 1948, ses habitants virent leurs déplacements restreints et leurs droits limités. Des tensions finirent par éclater à Soweto en 1976, lorsque des étudiants noirs manifestant contre l'apartheid furent pris pour cibles par la police. Conséquence de ces émeutes historiques, le Congrès national africain (ANC) prit une place centrale dans la lutte contre le système en place, et finit par arriver au pouvoir en 1994, marquant ainsi la fin officielle de l'apartheid.
Aujourd'hui, Johannesbourg est la plus grande agglomération d'Afrique du Sud, et si les mines ont perdu en importance, malgré toujours quelques conflits entre mineurs et policiers, la ville n'en reste pas moins une cité largement industrielle.