Towering Pakistan seam bowler Mohammad Irfan took two wickets with the first two balls of the match as South Africa struggled to 234-9 in the fourth one-day international on Thursday.
Irfan removed top-ranked ODI batsman Hashim Amla and then Colin Ingram for first-ball ducks to leave South Africa on 0-2 after two deliveries at Kingsmead.
Captain AB de Villiers (75) and David Miller (67) shared a century stand to lift the home team. But Irfan, Junaid Khan and spinner Saeed Ajmal struck regularly to hold the Proteas to a low score in a game Pakistan must win to keep the series alive.
Irfan, Khan and Ajmal took three wickets each to give their batsmen a good chance at leveling the five-match series at 2-2 and send it to a decider in Benoni on Sunday.
The 2.16-meter (7-foot-1) Irfan finished with 3-46, Ajmal had 3-42 and Khan 3-45. South Africa lost 5-81 when the De Villiers-Miller stand was broken by off spinner Ajmal.
Irfan forced Amla to edge behind to wicketkeeper Kamran Akmal off the opening delivery and bowled Ingram with a swinging yorker next ball to give the tourists a rampaging start after they lost a high-scoring game in Johannesburg at the weekend.
Graeme Smith went for 12 and Farhaan Behardien for 1 — both to the other left-arm quick, Khan — as South Africa slumped to 38-4.
Skipper De Villiers and Miller, who was only playing in place of the injured Faf du Plessis, put the Proteas temporarily back on track with a 115-run partnership but progress was still slow.
De Villiers made 75 off 108 balls with five fours. Miller's slightly more aggressive 67 came off 77 deliveries with seven fours.
The pair fell to Ajmal within 17 runs off each other, and Irfan ended Rory Kleinveldt's innings after the tailender had started to get going with three fours as South Africa went from 153-4 to 221-9.
Robin Peterson was 25 not out to boost the below-par South African total as he and Lonwabo Tsotsobe hit three fours off the last over.