Bangladesh were all out for 159 Thursday in their first innings of the second Test and will have to bat again 416 runs behind after South Africa enforced the follow-on in Chattogram.
Fast bowler Kagiso Rabada finished with 5-37 for South Africa, who lead the two-match series 1-0. Mominul Haque top scored for Bangladesh with 82.