Mokoena's carrière in het betaald voetbal begon in 1996 bij Jomo Cosmos in Zuid-Afrika. In 1998 trok hij via Bayer 04 Leverkusen naar Europa. Zo kwam hij in november 1998 bij AFC Ajax terecht. Mokoena speelde in Amsterdam een aantal keer in de hoofdmacht, maar kwam voornamelijk op huurbasis uit voor Germinal Beerschot. Daarna vertrok hij definitief naar het eveneens Belgische Racing Genk. Hier speelde Mokoena zich in de aandacht van Blackburn Rovers, dat hem voor £300.000,- overnam en hem tot en met het seizoen 2008/09 in dienst had. Zijn harde tackles bij de Engelse club leverde hem daar de bijnaam "Axe" ('Bijl') op. In 2009 tekende hij een driejarig contract bij Portsmouth FC, dat hem transfervrij inlijfde. Met Portsmouth stond hij op 15 mei 2010 in de finale van de strijd om de FA Cup. Daarin verloor de ploeg van trainer-coach Avram Grant met 1-0 van Chelsea door een treffer in de 59ste minuut van Didier Drogba. Drie jaar later keerde hij terug naar Zuid-Afrika, waar hij voor Bidvest Wits tekende.