Pakistan won the toss and sent South Africa in to bat in the first Twenty20 international at the Wanderers Stadium on Wednesday.
The start was delayed by 25 minutes following a thunderstorm which drenched the ground.
South Africa rested star batsman AB de Villiers and brought back JP Duminy while fast bowler Morne Morkel came in for all-rounder Ryan McLaren.
Pakistan made three changes, with Umar Amin, Anwar Ali and new cap Bilawal Bhati replacing the injured Shoaib Malik, Abdul Razzak and Mohammad Irfan.
South Africa won both Twenty20 matches in the United Arab Emirates last week before both teams travelled to South Africa for a hastily-arranged reciprocal series.
But Pakistan gained a convincing 95-run win when the teams last clashed in South Africa, in Centurion in March.
South Africa: Faf du Plessis (captain), Hashim Amla, Quinton de Kock (wkt), Henry Davids, JP Duminy, David Miller, Wayne Parnell, Dale Steyn, Morne Morkel, Lonwabo Tsotsobe, Imran Tahir.
Pakistan: Mohammad Hafeez (captain), Nasir Jamshed, Ahmed Shehzad, Sohaib Maqsood, Umar Amin, Asad Shafiq, Umar Akmal (wkt), Shahid Afridi, Bilawal Bhatti, Anwar Ali, Sohail Tanvir, Saeed Ajmal.
Umpires: Johan Cloete, Shaun George (both RSA)
TV umpire: Karl Hurter (RSA)
Match referee: Andy Pycroft (ZIM)