Pakistan beat South Africa by three wickets to level the series 2-2.
Pakistan have bounced back from defeat in Johannesburg in their last one-day international against the South Africans to win the fourth ODI of the series.
The last 50 over match, to be played in Benoni on 24 March, will now decide who is declared the winner of the series.
The day started extremely well for Pakistan as bowler Mohammad Irfan dismissed two South African batsmen with the first two balls of the innings.
The Proteas were 0-2 as both Hasim Amla and Colin Ingram were out to Irfan’s bowling in successive balls.
South Africa got going but only briefly, as Saeed Ajmal joined the party and took two wickets of his own – Graeme Smith and Farhaan Behardien – as the hosts were reduced for 38-4.
Captain AB de Villiers and the returning David Miller dug in for the South Africans and got their total to a respectable 153 before the next wicket.
Both batsmen made their half-centuries as de Villiers top-scored for his side with 75. South Africa finished their 50 overs on 234-9.
Pakistan’s reply started in a bizarre fashion as opener Mohammad Hafeez became the first international cricketer to be given out under new ICC rules for obstructing the field.
Batsmen Kamran Akmal and Younus Khan both lost their wickets soon after and at 33-3 Pakistan appeared to be having the same problems as the home side.
Then Misbah-ul-Haq joined Imran Farhat at the crease and settled the game for the tourists. Whilst putting on 153 for the fourth wicket both men reached their half-centuries, before Misbah was out for 80 off Robin Peterson’s bowling.
Shahad Afridi made just four runs before being dismissed, but the impressive Farhat batted all the way to 93 when he was caught by Behardien off Dale Steyn’s bowling.
That left Pakistan with just nine runs required to win, yet there was still time for Wahab Riaz to get himself run-out off his first ball before Shoaib Malik and Ajmal ensured Pakistan met their target with more than an over to spare.