Fast bowler Kagiso Rabada ripped through Bangladesh, taking 5-39 as South Africa cruised to a seven-wicket victory in the second one-day international at The Wanderers to square the three-match series.
Bangladesh chose to bat on Sunday, but after a poor start could only manage 9-194 in their 50 overs.
The home side had no trouble chasing down the target, which they reached with 76 balls to spare.
They earned 10 points on the ICC’s World Cup Super League table, where South Africa are battling to break into the top eight to automatically qualify for the tournament in India next year.
Bangladesh collapsed to 5-34 as the home seamers got exaggerated bounce out of the surface and caught the edge with regularity.
Rabada was particularly destructive, but when South Africa lost their third seamer, Wayne Parnell, to a hamstring injury early in his spell, it opened an end for the visitors.
Afif Hossain (72 from 107 balls) and Mehidy Hasan Miraz (38 from 49 balls) put on 86 for the seventh wicket to bring respectability to the score, but it was well below par at a venue famous for high-scoring games.
That was proven by opener Quinton de Kock as he smashed 62 from just 41 balls in the home side’s reply and Kyle Verreynne (58 not out from 77 balls) led South Africa to an easy win.
Bangladesh were victorious in the first game by 38 runs on Friday.
The series decider will be played at Centurion Park in Pretoria on Wednesday.