Set a modest 210 to win, South Africa were bowled out for 143 in 40.4 overs as Pakistan's slow bowlers took a combined six wickets at a run rate of under three an over to level the five-match series at 1-1.
Saeed Ajmal recorded figures of 2-15 in eight overs at the Dubai International Cricket Stadium as the Proteas had no answer to his guile on a wicket that was taking turn, but not excessively so.
Veteran Shahid Afridi finished with figures of 3-26 and Mohammad Hafeez 1-25 in his 10 overs as they restricted the runs and piled pressure back onto the South African batsmen.
Giant paceman Mohammad Irfan got in on the act too, taking 3-53 as Pakistan bounced back from their one-run loss in Wednesday's series opener.
None of the South African batsmen looked comfortable at the crease, with only Ryan McLaren showing some resistance with 29 not out.
"It was a really good performance, especially after being bowled out for a low score. The team fought hard, the bowlers did the job for us again," Pakistan captain Misbah-ul-Haq said at the post-match presentation.
"The spinners were brilliant, but altogether it was a good showing from the pace bowlers as well. We still need to improve performances and cannot relax after this."
South Africa looked in the game when they restricted Pakistan to 209 all out, two balls shy of completing their 50 overs and 40 runs short of where they looked as though they would end up at the midway point of their innings.
McLaren took 4-34 and Morne Morkel 3-38 in their 10 overs as Pakistan lost their last eight wickets for just 97 runs.
Ahmed Shehzad (58) was the only one of the Pakistan batsmen to get past 30 as he scored his second half-century in as many matches before being caught and bowled by Imran Tahir.
"The bowlers did very well today, we had great intensity in the field and I was very proud with the way we played the first 50 overs of the game," South Africa captain AB de Villiers said.
"Our batting is not going well, we have got a few issues, we know that, it's up to us to turn it around. At the moment I don't have answers and I'm very disappointed in the performance again."
The third one-day international will be played in Abu Dhabi next Wednesday.
- Sports & Recreation
- South Africa