Fakhar Zaman struck back-to-back centuries, while Keshav Maharaj rallied with the ball as Pakistan posted 320-7 in their 50 overs on Wednesday.
The Proteas were forced to ring the changes for the final ODI at SuperSport Park after Rassie van der Dussen pulled up with an injury ahead of play, while the IPL-contracted individuals were also not available, having travelled to India for the upcoming IPL.
Janneman Malan, Jon-Jon Smuts, Kyle Verreynne, Beuran Hendricks, Daryn Dupavillon and Lutho Sipamla came in as replacements, while Keshav Maharaj was named ahead of Tabraiz Shamsi as spinner.
Bowling first after wining the toss, the hosts got off to a steady start with the ball but the dangerous opening pair of Imam-ul-Haq and Fakhar Zaman soon kicked into gear after the PowerPlay.
A number of short deliveries by the inexperienced Proteas bowling attack presented Pakistan with chances to score. Ul-Haq and Zaman raced to a 100-run partnership for the first wicket before the former was caught at long-on by Kyle Verreynne for 57, trying to take on Maharaj with a big shot.
Zaman continued his impressive batting form, bringing up his sixth ODI century in the process. He, though, fell soon after reaching this milestone when he was caught behind by Heinrich Klaasen for 101, attempting to scoop Maharaj.
The left-arm spinner then got his third scalp when a brilliant piece of keeping by Klaasen led to the stumping of Mohammad Rizwan.
At the other end, Pakistan captain Babar Azam stood tall with a half-century of his own but the Proteas spinners began to fight back as Smuts and Aiden Markram got in on the act with wickets falling.
Sarfaraz Ahmed was caught and bowled by Smuts for 13 before Faheem Ashraf struck one straight back to Markram to depart for only one.
Markram then picked up his second with Temba Bavuma taking a sharp catch as Mohammad Nawaz walked back to the change room with only four to his name.
The wickets helped the Proteas to lower the Pakistan run rate at the time, but a couple of big strikes by Hasan Ali in the final few overs helped the visitors past the 300-run mark.
Azam continued the late onslaught with more big blows off Andile Phehlukwayo in the final over but was caught on the boundary for 94 with the very last ball of the innings.
The Proteas have to chase 321 for victory.
Proteas: Janneman Malan, Aiden Markram, Jon-Jon Smuts, Temba Bavuma (c), Kyle Verreynne, Heinrich Klaasen (wk), Andile Phehlukwayo, Keshav Maharaj, Beuran Hendricks, Daryn Dupavillon, Lutho Sipamla.
Pakistan: Imam-ul-Haq, Fakhar Zaman, Babar Azam (c), Mohammad Rizwan, Sarfaraz Ahmed, Muhammad Nawaz, Faheem Ashraf, Hassan Ali, Shahen Afridi, Usman Qadir, Haris Rauf.
Photo by Lee Warren/Gallo Images