South Africa hit back with a seven-wicket win over Bangladesh on Sunday to level the ODI series 1-1 and take it to a decisive final game.
South Africa controlled the second ODI from the moment it had Bangladesh 34-5 in the 13th over and although the tourists recovered well to post 194-9, the Proteas got home with ease.
South Africa reached 195-3 in the 38th over with half-centuries from the returning Quinton de Kock (62 off 41 balls) and Kyle Verreynne (58 not out off 77).
The victory eased the pressure on the home team after Bangladesh clinched a surprise win in the first game, its first victory over South Africa in an ODI in South Africa.
South Africa's batters confirmed a victory that was set up by the bowlers at the Wanderers in Johannesburg.
Fast bowler Kagiso Rabada took 5-39, including three of those five early wickets to leave Bangladesh in a deep hole.
Afif Hossain's fighting 72 under extreme pressure lifted Bangladesh to a reasonable score.
He hit nine fours and defied the South African attack, and was part of half-century partnerships with Mahmudullah (25) and Mehidy Hasan Miraz (38).
South Africa's early progress was interrupted when it lost bowler Wayne Parnell to a leg injury in just his third over, forcing captain Temba Bavuma to fill in as an extra bowler.
But de Kock put South Africa on course for the win with a rapid half-century in the chase after returning to the lineup having missed the opening game with illness. The left-hander launched nine fours and two sixes and South Africa didn't lose that early momentum.
Verreynne saw it home after an 82-run stand with Bavuma, who made 37.
The series decider is back at Centurion, where Bangladesh won the first game, on Wednesday.