Morne Morkel rocked New Zealand with a four-wicket haul and then Justin Kemp blunted the Kiwi attack with a buccaneering unbeaten 89 as South Africa romped to a six-wicket victory to keep alive its semi-final hopes in the Twenty20 World Cup, in Durban, on Wednesday.
Chasing 154 to win, the hosts cruised to 158 for four with five balls to spare on the back of Kemp's violent knock that came off just 56 balls and included six hits to the fence and as many over it.
It was, however, Morkel's 4 for 17 that helped South Africa take the upper hand after restricting the Kiwis to 153 for 8 in the allotted 20 overs.
Lou Vincent (32) and Brendan McCullum (38) gave New Zealand a good start before things went awry and Craig McMillan's unbeaten 48 in the middle order was not enough to prop the innings.
South Africa's victory opened up the group. India will now have to win both their remaining games to force a three-way tie for a berth in the semi-finals.
South Africa lost a couple of early wickets and slumped to 17 for two before being reduced to 45 for three in just over seven overs. It was left to Kemp and Mark Boucher (23) to steady the boat. Shaun Pollock (16 not out), a beneficiary of a dropped catch, then joined Kemp to see the side through.
Shane Bond dismissed Graeme Smith (2) and Mark Gillespie scalped AB de Villiers (1) to put pressure on the hosts. Herschelle Gibbs's (19) exit complicated things further for South Africa.
Kemp, however, was hardly perturbed as he went hard after the Kiwi bowlers, with Jacob Oram bearing the brunt of his fury.
Needing two for victory, Kemp hoisted Mark Gillespie over long-on to seal the match. He was adjudged Man of the Match.
Earlier, Graeme Smith's decision to insert New Zealand on a lively track threatened to boomerang as the Kiwis got off to a brisk start with Vincent (32, 29b, 4x4) and McCullum (38, 26b, 3x4, 2x6) going great guns.
They forged a 68-run stand in just over eight overs before Morkel dealt back-to-back blows in the ninth over to trigger a batting collapse and New Zealand could not recover from the series of setbacks.
Morkel drew first blood by having McCullum, who had dominated the opening pair stand, caught behind and the dismissal simply unhinged the Kiwis who kept losing wickets at regular intervals.
Three balls later, it was in-form Ross Taylor's (1) turn to perish the same way.
Johan van der Wath castled Vincent and it was only McMillan (48, 25b, 2x4, 4x6) who stood tall amid ruins and provided lone resistance in the brittle middle order that collapsed in the face of some intelligent bowling by the South Africans.
After his first spell yielded two wickets, Morkel returned to add two more when he bowled out Jacob Oram and had Shane Bond caught behind.
Morkel almost became the first bowler to achieve a five-for after castling Mark Gillespie in his final over, but the delivery as declared a no-ball.