product of Paarl Boys High School, Thomas joined The Sharks Academy just after playing representative rugby at Under 16 and Under 18 age group level for Western Province and then gaining selection to SA Schools.
He immediately made an impact at Sharks, playing in the Super Rugby Competition at the age of 19 years old.
He featured prominently at the IRB Junior World Championship that year when South Africa were runners-up before enjoying his Currie Cup debut later that season.
October 2016 saw Thomas join Irish Pro12 club Munster on a 3-month contract, making his debut the following month as a replacement in the sides 46-3 win against Treviso in a 2016/17 Pro12 fixture at Thomond Park
Du Toit returned to the Sharks ahead of the 2017 Super Rugby season, having made over 20 Super Rugby appearances since his debut in 2014 against the Cheetahs.
In November du Toit was called up to the Springbok squad as injury cover but did not make an appearance.
Able to play both sides of the scrum with equal destructive force, Du Toit went into the 2018 Super Rugby season, having played all 16 of the Sharks 2017 Super Rugby matches, scoring 4 tries.
In May du Toit 2017, was named alongside 16 other uncapped players in the Springboks squad to face Wales and England.
In September 2019, he was called into the Springboks squad as an injury replacement for Trevor Nyakane, who tore his right calf in the 23-13 defeat by New Zealand in Yokohama.
He featured during the pool stages of the Rugby World Cup taking his test caps to 12 before being named in the 2021 squad for the tests against Georgia and the British and Irish Lions.
In March 2023 Du Toit signed for English Premiership Rugby side Bath Rugby. He will officially join the team once the 2023 Rugby World Cup ends and he comes back from playing for South Africa.