After the first match was rained out in Durban, Pakistan took the series 1-0 thanks to a captain's innings by Mohammad Hafeez and a five-wicket haul by Umar Gul.
Chasing a formidable target of 196, South Africa began aggressively but four wickets off six balls, by Gul, sent South Africa crashing out of the contest.
Twice on a hat-trick, Gul returned figures of five wickets for six runs off 2.2 overs while Hafeez, who also had a hat-trick opportunity, took three for 25.
It was Hafeez who set up the match when he tore apart the South African attack.
After a dismal Test series, it looked like he was hitting a tennis ball and even looked like he was smashing a few slams for his brilliant 86 off 51 balls.
His innings, which included nine fours and four sixes, came to an unfortunate end when he hit a Rory Kleinveldt delivery for another four but his back foot slid onto his stumps and dislodged the bails.
Pakistan started with intent and had the run rate at 9.9 per over after the first 10 overs. The opening pair of Nasir Jamshed and Ahmed Shehzad set the pace with the latter smashing two sixes before he was run out on 46. He faced 25 deliveries and also hit six fours.
The wicket brought Hafeez to the crease but it had no effect on the team's momentum. Hafeez reached his half-century off 30 balls and achieved his highest T20 score – his previous being 71 against Zimbabwe, in Harare. He also became the first Pakistan batsman to reach the milestone 1 000 T20 runs.
Faf du Plessis tried all his bowlers and had to call on his "death" bowlers midway through the innings. Lonwabo Tsotsobe, who took eight for one off his first two overs, came back in the ninth over to try to peg down the batsmen but to no avail. Once Hafeez departed, at 170 for four, in the 17th over, the visitors could finish off the innings in quite the same fashion they had started and ended their innings on 195 for seven.
Kleinveldt picked up two wickets for 27 and Chris Morris two for 35. – Sapa