1 Compétitions officielles nationales et internationales senior, incluant le parcours amateur et en équipe réserve. 2 Matchs officiels. Dernière mise à jour : 4 juin 2020
Il commence sa carrière professionnelle à Moroka Swallows en 2007 après avoir fait quelques apparitions sur le banc lors de la saison 2006-2007[1]. Il fait ses débuts le lors d'une victoire 1-0 contre Orlando Pirates[2]. Il prend part à 11 rencontres lors de sa première saison. Il acquiert ensuite de plus en plus de temps de jeu si bien qu'il prend part à toutes les rencontres, toute compétitions confondues, en 2010-2011. Il remporte également la Coupe d'Afrique du Sud en 2008-2009[3].
Mamelodi Sundowns
Le , il rejoint Mamelodi Sundowns. Il joue son premier match le face à Jomo Cosmos (victoire 2-0)[4]. Il prend part à seulement 8 rencontres lors de cette saison.
Prêt à University of Pretoria
Le , il est prêté à University of Pretoria, promu en Absa Premiership. Il joue son premier match quatre jours plus tard contre Maritzburg United (1-1)[5]. Sur la première partie de saison, il prend part à toutes les rencontres exceptée celle contre l'équipe à laquelle il appartient. Son prêt prend fin au mercato hivernal.
Retour au club
Il revient le , Mamelodi Sundowns préférant le rapatrier et envoyer Siyabonga Ngubane en prêt à sa place[6]. Sur la deuxième partie de saison, il participe à 11 rencontres sur 14 possibles.
La première partie de la saison 2013-2014 est très compliquée pour lui puisqu'il ne joue que 45 minutes jusqu'en mars. Il joue ensuite l'intégralité des rencontres jusqu'à la fin de saison, participant activement au sacre de son équipe. Lors de la saison suivante, il marque son premier but en professionnel, le , offrant la victoire 1-0 à son équipe contre University of Pretoria[7]. Lors de cette même saison, il remporte la Coupe d'Afrique du Sud[8] et prend également part à son premier match en Ligue des champions de la CAF contre le TP Mazembe (victoire 1-0)[9].
Lors de la saison 2015-2016, il hérite du brassard de capitaine et conduit son équipe au titre de champion. Il remporte également le MTN 8 avec une victoire 3-1 en finale face à Kaizer Chiefs[10].
Lors de sa seconde saison, une blessure au genou le tient éloigné des terrains pendant 3 mois. Durant la saison 2018-2019, il atteint la finale de la Coupe d'Afrique du Sud et s'incline 1-0 face à TS Galaxy[14]. En 2019-2020, il est très peu utilisé, ne comptant que deux apparitions.
Il participe ensuite à la phase finale de la Coupe d'Afrique des nations 2019 organisée en Égypte. Il entre en jeu face à la Namibie (victoire 1-0). L'Afrique du Sud atteint les quarts de finale de la compétition, en étant éliminée par le Nigeria[16].