Bangladesh were made to follow on having been bowled out for 147 in response to South Africa's 574/4 declared in the second Test in Bloemfontein.
The visitors reached 7/0 following on in a brief spell before stumps on day two.
The start of play was delayed for a little over an hour due to rain but the weather cleared and South Africa batted on until after lunch.
Hashim Amla and Faf du Plessis moved from overnight half centuries to hundreds.
Amla notched his 28th Test century to move into second place on the all-time Test hundred makers list for South Africa ahead of Graeme Smith and behind Jacques Kallis.
Du Plessis joined him in bringing up three figures soon afterwards and the Proteas went to lunch on 530/3.
Amla (132) fell shortly after the break, walking across his stumps and missing a straight ball from Subashis Roy.
After a brief blitz from Quinton de Kock (28*) and Du Plessis (135*) the home team declared on 573/4.
Bangladesh were always going to be up against it but they will be disappointed with how they responded to the situation.
Kagiso Rabada started the rot when he bowled Soumya Sarkar (1) around his legs.
Duanne Olivier would strike twice with Mominul Haque (4) gloving a leg side short ball through to the keeper before the skipper Mushfiqur Rahim (7) was brilliantly caught by Temba Bavuma in the gully.
Wayne Parnell struck with his second ball of the match to send Mahmudullah (4) packing with Bangladesh limping to tea on 61/4.
Liton Das provided the only real resistance to the Proteas steamroller once Imrul Kayes was removed by Rabada.
Das's seventy was a virtual lone-hand for the Tigers as Rabada took 5 for 33 to move to the head of the 2017 Test wicket-takers table on 49 scalps ahead of Australia spinner Nathan Lyon on 46.
At the fall of the ninth wicket Du Plessis became impatient with the umpires with a review that took an awfully long time when it was abundantly clear to all that Mustafizur Rahman was out caught off Keshav Maharaj.
Rabada wrapped up the innings and the follow on was enforced with a result looking likely to occur on day three.