Justin Kemp blasted 89 not out off 56 balls after Morne Morkel claimed 4-17 as South Africa thrashed New Zealand by six wickets in the Twenty20 world championships here on Wednesday.
Graeme Smith's home team restricted the Kiwis to 153-8 after giving them first strike at the Kingsmead and then knocked off the modest target with five balls to spare.
It was New Zealand's only defeat in three matches of the Super Eights and left them level with South Africa on two wins each.
Both teams will advance to the semi-finals from group E if India lose to England here later on Wednesday.
If India win and also beat South Africa in their last match on Thursday, a three-way tie will be decided on net run-rates.
England, who lost their first two matches, have been knocked out of the semi-final race.
Pakistan are the first team to make the last four in the 12-nation tournament after beating Sri Lanka and Australia in group F.
The second spot from the group will go to the winner of Thursday's crucial tie between Australia and Sri Lanka in Cape Town.
Kemp hammered six boundaries and as many sixes in his match-winning knock, ending the match by lofting Mark Gillespie over the straight field for six.
Kemp added 65 runs for the fourth wicket with Mark Boucher (23) and an undefeated 48 for the fifth with Shaun Pollock, who remained unbeaten on 16.
The South African blitz came after two wickets had fallen for 17 runs and a third batsman, Herschelle Gibbs, was dismissed in the eighth over with the total at 45.
The emphatic win was set up by 22-year-old fast bowler Morne Morkel who ensured that New Zealand lost wickets at regular intervals.
Morkel narrowly missed becoming the first Twenty20 bowler to claim five wickets when his penultimate ball which clean bowled Gillespie was declared a no-ball by umpire Billy Doctrove.
Craig McMillan top scored for New Zealand with 48 not out in an innings studded with four sixes.
New Zealand made a brisk start as openers Brendon McCullum and Lou Vincent hammered 68 for the first wicket by the ninth over.
South Africa hit back by claiming three wickets in 11 balls and earned a fourth success soon after to make the Black Caps 90-4 by the 13th over.
Morkel had McCullum (38) and Ross Taylor (one) caught behind by wicket-keeper Mark Boucher in the ninth over.
Vincent, who settled in to hit 32 off 29 balls, was bowled by Johan van der Wath in the 10th and Scott Styris holed out in the deep off Albie Morkel after making six.
Morne Morkel returned for his second spell to bowl Jacob Oram and had Shane Bond caught by Boucher.