Fakhar Zaman hit his second successive century and captain Babar Azam made 94 to set up a 28-run win for Pakistan in the series-deciding third and final one-day international against South Africa in Centurion on Wednesday.
South Africa's chances of chasing down Pakistan's total of 320 for seven were effectively snuffed out by left-arm spinner Mohammad Nawaz, who took three wickets in successive overs to reduce the hosts to 140 for five in the 28th over.
Promising batsman Kyle Verreynne (62) and all-rounder Andile Phehlukwayo (54) put on 108 off 100 balls for the sixth wicket but both were dismissed in the space of seven balls. South Africa were bowled out for 292.
Pakistan: 320-7 in 50 overs (Imamul Haq 57, Fakhar Zaman 101, Babar Azam 94; K. Maharaj 3-45)
South Africa: 292 in 49.3 overs (J. Malan 70, K. Verreynne 62, A Phehlukwayo 54; Shaheen Shah Afridi 3-58, Mohammad Nawaz 3-34)
Earlier, Fakhar again scored rapidly, although he fell short of repeating the carnage he inflicted on the South African bowlers in the second match in Johannesburg on Sunday, falling for 101 off 104 balls.
It took a late assault by Babar and tailender Hasan Ali to take Pakistan's total beyond Babar's pre-match target of 300. The pair added 63 off the last four overs before Babar was caught on the deep point boundary to fall six runs short of his second century of the series.
Babar faced 82 balls, while Hasan thrashed an unbeaten 32 off 11 balls, hitting four sixes off left-arm spinner Jon-Jon Smuts in the 49th over.
Fakhar and Imamul Haq (57) laid a solid foundation with an opening partnership of 112 after Pakistan were sent in on a cloudy day.
Fakhar's 99-ball century was eight balls slower than his effort in a losing cause in Johannesburg, where he unleashed a furious assault, needing only another 48 balls to take his score to 193. But he added only one more run on Wednesday before an attempted lap shot against left-arm spinner Keshav Maharaj looped off his arm and provided a simple catch to wicketkeeper Heinrich Klaasen. He hit nine fours and three sixes.
Maharaj, one of seven changes in the South African team, took three for 45 in his 10 overs.
With three frontline fast bowlers missing because of Indian Premier League commitments, South African captain Temba Bavuma juggled an inexperienced seven-man bowling attack, making frequent changes and using spin bowlers for 28 of the 50 overs.
Six of the wickets fell to spin.
Pakistan made four changes. Leg-spinner Shadab Khan was ruled out with a toe injury and replaced by new cap Usman Qadir.
Batsmen Danish Aziz and Asif Ali were replaced by Mohammad Nawaz and former captain Sarfraz Ahmed, while fast bowler Hasan Ali came in for Mohammad Hasnain.
South African captain Temba Bavuma earlier said he hoped to take advantage of early overhead conditions which could help swing bowling.
He said the new players were like-for-like replacements. “They are fully aware of what is expected of them,” he said.
South Africa: Temba Bavuma (capt), Aiden Markram, Janneman Malan, Jon-Jon Smuts, Kyle Verreynne, Heinrich Klaasen (wkt), Andile Phehlukwayo, Keshav Maharaj, Darryn Dupavillon, Beuran Hendricks, Lutho Sipamla.
Pakistan: Babar Azam (capt), Imam-ul-Haq, Fakhar Zaman, Mohammad Rizwan, Sarfraz Ahmed (wkt),Mohammad Nawaz, Faheem Ashraf, Hasan Ali, Shaheen Shah Afridi, Usman Qadir, Haris Rauf.