Né vers 1860 dans le Royaume du Bouganda, au sud de l’Ouganda actuel, il devint chef des pages puis majordome à la cour du roi Mwanga II. C’est là, au contact de catholiques, qu’il se convertit et qu’il commença d’être formé en vue du baptême. Le catholicisme, mais aussi l’anglicanisme, se répandaient alors rapidement dans le royaume.
Mwanga II, roi autoritaire, voyait d’un mauvais œil l’expansion du christianisme : il craignait d’y perdre son pouvoir sur ses sujets. En 1885, il exigea donc qu’ils abjurent et, devant les refus, ordonna leur massacre ; la persécution démarra par l’exécution de missionnaires anglicans, contre laquelle les catholiques protestèrent. Une autre raison de ces massacres était le refus par les chrétiens de participer à des orgies homosexuelles.
Le catéchiste catholique saint Joseph Mukasa Balikuddembe, serviteur de Mwanga II, fut décapité, après quoi le roi ordonna à Charles Lwanga de prendre sa place à la cour. Celui-ci, avec une centaine de catéchumènes sous sa protection, demanda alors le baptême à un missionnaire des Pères Blancs ; il fut baptisé le 15 novembre 1885. Quelques mois plus tard, le roi ordonna l’exécution de deux pages catéchumènes ; Charles Lwanga les baptisa et les conforta dans leur foi, ce qui entraîna sa condamnation à mort.
Charles Lwanga fut brûlé vif le 3 juin 1886 à Namugongo ; pendant son supplice, il déclara à son bourreau : « C’est comme si vous versiez de l’eau sur moi. Veuillez vous repentir et devenir chrétien comme moi. » Il fut canonisé par Paul VI le 18 octobre 1964 avec une vingtaine d’autres martyrs ougandais.