Kagiso Rabada claimed a five-wicket haul as South Africa dominated with both bat and ball on day two of the second Test to leave Bangladesh staring at another heavy defeat in the series.
After centuries from Hashim Amla and Faf du Plessis allowed them to declare their first innings on 573-4, the Proteas bundled out their opponents for just 147 under the floodlights in Bloemfontein.
Bangladesh reached seven without loss second time around before bad light halted play early, meaning they trail by 419 runs and face a mountainous task just to force their hosts to bat again.
Only Liton Das - who made 70 from 77 deliveries - showed any real resistance for the tourists, who lost the opening match of the series by 333 runs.
Bangladesh slipped to 65-6 soon after tea before Das and Taijul Islam combined in a 50-run partnership that was eventually ended by Duanne Olivier (3-40) cleaning up the latter for 12.
Rabada returned to pick up two of the final three wickets to fall in an innings that lasted 42.5 overs, the paceman finishing with figures of 5-33 to admirably lead an attack that is without the services of Vernon Philander and Morne Morkel.
Having amassed 428-3 on a one-sided opening day, South Africa's progress on the second morning was delayed by rain. However, once play began, unbeaten duo Amla and Du Plessis made serene progress through to three figures.
By reaching the milestone for the 28th time in his Test career, Amla moved past Graeme Smith on the all-time list of centurions for the Proteas, with only Jacques Kallis (45) now ahead of him.
His knock eventually came to an end when he was bowled by Subashis Roy, the seamer's third wicket of the innings ending a 247-run stand for the fourth wicket.
Du Plessis - who missed out on a century in the first Test at Potchefstroom when dismissed for 81 in South Africa's second innings - eased to 135 from 181 deliveries before calling a halt to his side's innings.
Quinton de Kock was alongside his skipper on 28 not out when the declaration arrived in the afternoon session, giving Rabada and company more than enough time to flatten Bangladesh's brittle top order.