Thomas du Toit commence sa carrière à l'académie de la Western Province, dans sa région natale, où il joue jusqu'en 2013[3].
Il rejoint ensuite les Natal Sharks; basés à Durban, avec qui il commence sa carrière professionnelle en 2014 en Vodacom Cup, avant de jouer également en Currie Cup plus tard dans l'année[1],[4].
Toujours en 2014, il fait ses débuts en Super Rugby avec la franchise des Sharks[4]. Il ne joue qu'assez peu jusqu'à la saison 2017, où il obtient plus de temps de jeu et s'impose comme l'un des meilleurs pilier du pays[5],[6].
Lors de la saison 2016-2017, il est prêté pour durée de trois mois à la province irlandaise du Munster, évoluant en Pro12[7].
En , il rejoint le Stade toulousain en qualité de joker Coupe du monde[8]. Cependant, quelques jours après avoir signé son contrat, il quitte le club pour rejoindre son équipe nationale à la Coupe du monde au Japon[9]. Il revient à Toulouse après la compétition et joue un match avec le club avant la fin de son contrat en décembre[1].
Initialement non retenu pour disputer la Coupe du monde 2019, il rejoint les Springboks en cours de compétition en remplacement de Trevor Nyakane blessé lors du premier match de poule[16],[17]. Il dispute deux rencontres lors de la phase de poule, puis assiste à la victoire finale de son équipe lors du tournoi[2].