Rabada's fiery spell in the morning session reduced Bangladesh to 48-8 but Mominul Haque came up with some resistance to help the side go past 100 runs.
At the first interval of the day, Mominul was batting on 74 with Taijul Islam on 18 after sharing 89 runs for the ninth wicket. Bangladesh was still trailing by 438 runs and it needed another 339 runs to avoid the follow-on and to make South Africa bat again.
South Africa declared its first innings at 575-6 after three batters hit maiden centuries.
Rabada struck in just fourth over of the day when Bangladesh captain Najmul Hossain Shanto poked a length delivery tentatively to Verriynne for 9. In the next over, Dane Paterson dismissed Mushfiqur Rahim for duck with a fuller length delivery.
After scoring an epic 191 against Pakistan , Mushfiqur Rahim had gone nine innings without any half-century.
The situation went from bad to worse as Rabada struck twice, getting the better of Mehidy Hasan and Mahidul Islam in three deliveries. Mehidy pushed a delivery outside off half-heartedly to be out for 1 while Mahidul on debut was out for duck, after offering no shot against a delivery that nipped back sharply.
Mominul, however, proved the pitch is still good to bat on by playing his shots effortlessly. He struck eight fours and one six in 97 balls.