Pakistan overcame a scrappy effort in the field to beat South Africa by 25 runs in the second limited-overs international and level the five-match series 1-1.
Captain Graeme Smith top-scored with a dogged 65 off 96 balls as South Africa was bowled out for 240 in 49.3 overs after Pakistan made a respectable 265-9 off its 50 overs.
"Winning is always great and I knew 265 was defendable on this slow wicket," Pakistan captain Shoaib Malik said.
Smith was bowled off a no-ball before he had scored and was thrice dropped before he had completed his half century.
Pakistan survived a late onslaught by Albie Morkel (31), who was also dropped on 20, and Shaun Pollock (37) as medium fast Rao Iftikhar ended up with a disciplined career-best figures of 3-43.
"The credit goes to Mohammad Yousuf for hanging in there, and we knew chasing 266 on this wicket will always be difficult," Smith said.
South Africa lost experienced Herschelle Gibbs and Jacques Kallis for noughts before Smith revived the team's hopes when he added 76 runs with A B de Villiers (35) - who also had a lucky escape when Abdul Rehman dropped a hard one-handed catch at mid-wicket.
Smith was the sixth man to go in the 35th over when Kamran Akmal finally held onto a faint edge off left-arm spinner Rehman.
Pakistan players had a horrifying day in the field as they dropped at least five catches with South African captain Graeme Smith being the prime beneficiary.