Keshav Maharaj and Simon Harmer propelled South Africa to a crushing 332-run win on the fourth day of the second Test against Bangladesh at St George's Park on Monday.
Bangladesh were bowled out for 80, losing their remaining seven wickets inside an hour.
It was the second successive match in which the two spinners bowled unchanged through the fourth innings. It was also Maharaj's second seven-wicket haul in successive matches after he took seven for 32 in South Africa's 220-run win in the first Test in Durban.
Three wickets fell in the first half-hour in what for Bangladesh was a depressingly similar pattern to the first Test in Durban when they were bowled out for 53 after starting the last day on 11 for three.
Resuming in a near-hopeless position at 27 for three after being set 413 to win, Bangladesh lost their fourth wicket just eight balls into the day's play.
Mushfiqur Rahim went on a big drive against Maharaj and was smartly caught at slip by South African captain Dean Elgar for one.
Bangladesh captain Mominul Haque did not add to his overnight score of five, top-edging an attempted sweep to midwicket.
Liton Das batted brightly, scoring 27 and sharing a stand of 25 with Mehidy Hasan before leaping down the wicket against Maharaj to be stumped by Kyle Verreynne.
The last three wickets fell in the space of seven balls.
Maharaj, who was the top scorer with 84 in South Africa's first innings, was named player of the match and player of the series.
There were two changes in the South African team after Sarel Erwee and Wiaan Mulder tested positive for Covid-19 on Monday morning.
Khaya Zondo and Glenton Stuurman became the first Covid replacements in Test cricket since the International Cricket Council decided in June 2020 to allow substitutes in Test matches for players testing positive for coronavirus.
It was a first Test cap for specialist batsman Zondo, although he was unable to bat because both South African innings had been completed. Stuurman, with one previous cap, was not called on to bowl.
South Africa earlier made 453 and 176-6d in the match while Bangladesh could score only 217 runs in their first innings.