Bloemfontein: Pacer became the fifth-youngest to 100 Test wickets and went past 50 wickets for the calendar year as South Africa scrip an innings and 254-run victory for a series sweep.
After declaring their first innings at 573 for 4, South Africa bowled out Bangladesh for 147 in the first innings with Kagiso Rabada taking a five-wicket haul.
Bangladesh were 7 for no loss in the second innings when bad light stopped play on the second day.
Bangladesh, following on after trailing by 426 runs on the first innings, were bowled out 172 in second innings on the third day.
Kagiso Rabada took the five wickets and fellow fast bowlers Duanne Olivier and Wayne Parnell took one apiece while Andile Phehlukwayo picked up three wickets.
Rabada and Olivier sent down numerous short-pitched deliveries and three batsmen were struck on their batting helmets, including captain Mushfiqur Rahim, who had lengthy treatment on the field after ducking into a bouncer from Olivier with his score on 11 soon after the mid-morning drinks break. He was hit on his helmet near the temple area.
Mominul Haque was hit by a bouncer from Rabada two balls before hooking the same bowler to be caught at deep square leg for 11, while Mahmudullah was hit by Olivier before he had scored.