Porchefstroom: Kagiso Rabada and Keshav Maharaj ran through the Bangladesh batting order to lead South Africa to an emphatic 333-run victory in the first Test as the visitors capitulated meekly on the final morning on Monday.
Resuming at Senwes Park on 49 for three and hoping to provide some stubborn resistance, Bangladesh were dismissed for just 90 with Rabada returning figures of three for 33 and Maharaj four for 25 as South Africa took the last seven wickets for 41 runs.
Rabada claimed three quick wickets, starting with captain Mushfiqur Rahim, to more than fill the void left by the injury to fellow strike bowler Morne Morkel, who has been ruled out for six weeks with a side strain he suffered on Sunday.
Hashim Amla took a sharp catch off Rabada in the third over of the morning to see Mushfiqur depart for 16, setting off a quick procession of batsmen.
Mahmudullah was then bowled for nine and Liton Das next adjudged leg before as he padded up to an inswinger from Rabada. Maharaj chipped in with two more lbws to leave Bangladesh on 73 for eight at the first drinks break after just an hour's play.
Rabada then ran out Shafiul Islam, attempting an unnecessary third run, and Mustafizur Rahman was the last wicket to fall as Maharaj bagged a caught and bowled.
Mehidy Hasan was the not out batsman on 15.
South Africa had scored 493 for three and 247 for six, both declared, in their two innings, while Bangladesh responded with 320 in their first innings.
The second Test Ttarts in Bloemfontein on Friday, where a livelier pitch is expected after the track in Potchefstroom proved flat throughout the five days.
South Africa 1st innings: 496 for 3 decl
(D. Elgar 199, H. Amla 137, A. Markram 97)
Bangladesh 1st innings: 320
(M. Haque 77, Mahmudullah 66)
South Africa 2nd innings: 247 for 6 decl
(F. du Plessis 81, T. Bavuma 71)
Bangladesh 2nd innings
Tamim Iqbal b M. Morkel 0
Imrul Kayes c de Kock b Maharaj 32
Mominul Haque lbw M. Morkel 0
Mushfiqur Rahim c Amla b Rabada 16
Mahmudullah b Rabada 9
Liton Das lbw Rabada 4
Sabbir Rahman lbw Maharaj 4
Mehidy Hasan (not out) 15
Taskin Ahmed lbw Maharaj 4
Shafiul Islam run out 2
Mustafizur Rahman c&b Maharaj 1
Extras (b-1, nb-2) 3
Total (all out, 32.4 overs) 90
Fall of wickets: 1-0, 2-0, 3-49, 4-55, 5-62, 6-67, 7-67, 8-71, 9-75.
Bowling: M. Morkel 5.2-2-19-2 (nb-1); K. Rabada 10-3-33-3 (nb-1); D. Olivier 5.4-1-12-0; K. Maharaj 10.4-1-25-4; A. Phehlukwayo 1-1-0-0.
Umpire: Chris Gaffaney, Bruce Oxenford
TV umpire: Kumar Dharmasena
Match referee: Ranjan Madugalle