Makhaya Ntini grabbed 5-21 as South Africa conjured a great escape to advance into the Champions Trophy semi-finals with a dramatic 124-run win over Pakistan on Friday.
The Proteas recovered from a disastrous 42-5 within the first hour to post 213-8 before Pakistan were themselves reduced to 27-6 and bowled out for 89 in the eventful day-night international.
South Africa joined New Zealand in the semi-finals from group B with two wins each, topping the group on the basis of a superior run-rate.
The South Africans will travel to Jaipur for the second semi-final against the runners-up of group A on Thursday.
New Zealand will face the group A winners in the first semi-final in Mohali on Wednesday.
Defending champions the West Indies have already qualified from group A while Australia and hosts India will battle for the last semi-final spot today.
South African captain Graeme Smith said he was surprised how much bounce the wicket at the Punjab Cricket Association ground offered.
"We don't get so much bounce even at home," he said. "I thought even a total of around 160-170 may have been enough. We are prepared for the slow wicket that will come in Jaipur and ready to take on any opposition."
Pakistan coach Bob Woolmer lashed out at his batsmen, saying this was the "worst performance by them" since he took over two years ago.
"We bowled so well but the batsmen ruined it," Woolmer said. "It was a gettable target and the wicket was not playing up as much as the total suggests. We just could not build partnerships."
South Africa made a terrible start in the key match when they lost half their side by the 13th over after Smith won the toss and elected to bat on a seaming wicket.
Mark Boucher (69) and Justin Kemp (64) led their team's recovery by adding 131 for the sixth wicket, South Africa's best sixth-wicket stand against Pakistan surpassing the 88 by Jonty Rhodes and Dave Richardson at Durban in 1994.
Pakistan, chasing a modest target of 4.3 runs an over, were stunned by a lightning spell from the fired-up Ntini.
The right-arm fast bowler had Mohammad Hafeez caught by Smith at first slip with his second ball and had Imran Farhat taken at third man by Shaun Pollock in his next over.
Pollock celebrated his 100th one-day catch by bowling Mohammad Yousuf for five before Ntini dismissed captain Younis Khan and Shoaib Malik in his fourth over.
Pakistan slipped to 42-7 in the 13th over when Ntini trapped Kamran Akmal leg-before and Pollock claimed Shahid Afridi (14) in the same fashion.
Pakistan's lowest total against South Africa -- their previous low was 109 in Johannesburg in 1995 -- undid the good work done by their bowlers in the first session.
Pakistan had decimated the South African top order after Umar Gul removed Smith and Herschelle Gibbs in the first over of the match as the ball moved alarmingly in the air and off the wicket.
Fellow-seamer Rao Iftikhar enjoyed the conditions as much as Gul, conceding his first run on his 19th delivery.
Iftikhar had Boeta Dippenaar (13) and Jacques Kallis (17) caught by wicket-keeper Akmal as the Proteas slipped to 36-4.
It soon became 42-5 as Yasir Arafat, playing his first match in the tournament in place of Rana Naved, forced A.B. de Villiers to edge a catch to Akmal.