De stad is de thuisbasis van twee voetbalclubs uit de hoogste afdelingen: Sporting Charleroi uit de Eerste klasse en ROC de Charleroi-Marchienne (of Olympic Charleroi). De clubs spelen hun thuiswedstrijden in respectievelijk het Stade du Pays de Charleroi en het Stade de la Neuville. Met het Stade du Pays de Charleroi was Charleroi in 2000 speelstad bij het EK voetbal. Aanvankelijk was Olympic de grootste club van de stad, zij speelden van 1937 tot 1963 met slechts één seizoen onderbreking in de hoogste afdeling en werd één keer vicekampioen. Het laatste seizoen in de hoogste klasse dateert van 1974/75. Vanaf de jaren tachtig tot 2012 was de club voornamelijk actief in de derde klasse, daarna zakte de club weg door financiële problemen. Sporting speelde in 1947 voor het eerst in de hoogste afdeling en werd in 1969 vicekampioen. Sinds 1985 is de club, met uitzondering van seizoen 2011/12, een vaste waarde in de hoogste afdeling.