Paceman Kagiso Rabada took five wickets as Bangladesh were bowled out for 147 in their first innings and forced to follow-on by South Africa.
Keeper Liton Das batted well for his 70 but Bangladesh's were bowled out for 147.
Earlier, Hashim Amla and captain Faf du Plessis both completed centuries before lunch as South Africa declared on 573-4.
Bangladesh 147 (Liton 70, Kayes 26, Rabada 5-33, Olivier 3-40) and 7 for no loss (Kayes 6*) trail South Africa 573 for 4 dec (Markram 143, du Plessis 135*) by 419 runs.
Matches Tagged in ClipDex2017 RSA v BAN 2nd Test
Series Tagged in ClipDex2017 RSA v BAN Test serie ...
Players Tagged in ClipDexOlivier, Duanne Du Plessis, Faf de Kock, Quinton Liton Das Subashis Roy Maharaj, Keshav A Rabada, Kagiso Soumya Sarkar Parnell, Wayne Amla, Hashim M Imrul Kayes Mushfiqur Rahim Taijul Islam
Grounds Tagged in ClipDexOUTsurance Oval
Categories Tagged in ClipDexTest Matches