World Cup Super 8, Grenada: New Zealand 196-5 beat South Africa 194-7 by five wickets
Craig McMillan was New Zealand's surprise bowling star
New Zealand were too strong for an uncertain South Africa side, winning by five wickets with 10 balls left.
The result puts the Kiwis and Sri Lanka into the World Cup semi-finals, and means Tuesday's England v South Africa match is a virtual quarter-final.
New Zealand were fortunate to win an important toss, as they profited from some lavish swing and seam movement early on to limit the Proteas to 193-7.
And South Africa were well below par in the field, dropping four catches.
Stephen Fleming hit 50 having been missed by Mark Boucher off Andre Nel on 24.
He was also spilled by South Africa's best fielder Herschelle Gibbs on 36, with Jacques Kallis the unfortunate bowler.
Scott Styris was another to get a let-off, when Ashwell Prince failed to snap up an admittedly difficult chance when he had had made just four.
Nel was again the bowler, and it was an important moment as Styris went on to top-score for the Kiwis with 56.
It was his fourth score between 50 and 99 of this World Cup to go with his century against Sri Lanka.
Stephen Fleming hit 50 after being dropped three times
Despite the problems facing the new ball on an overcast morning, South Africa batted meekly in their innings.
The ball stopped swinging around relatively early, but the Proteas did not have the gumption to accelerate.
The unsung medium pacer Craig McMillan, New Zealand's seventh bowler, took 3-23, while Gibbs' 60, the top score, occupied 100 deliveries.
Just eight fours and three sixes were hit by South Africa in all.
Gibbs and Jacques Kallis had a job to do when the openers fell inside the first three overs on a damp wicket that was a joy for Shane Bond and James Franklin to bowl on.
But after contributing 22 to a stand of 49, Kallis gifted Daniel Vettori his 15th wicket of the tournament in the 20th over.
The shrewd tactic of bringing on both spinners inside the final powerplay had persuaded Kallis to play a big shot.
But the man at extra cover, Bond, had time to turn around and collect the catch with some ease as the shot was poorly timed by South Africa's outstanding batsman.
It was the critical moment of the match. Gibbs went into his shell, despite having hit a big, clean six off Jacob Oram and his new partner Prince was similarly cautious.
Their partnership of 76 in 17 overs ended in McMillian's first over when a leaden-footed Gibbs played onto his stumps off the inside edge.
Jacques Kallis narrowly avoids being struck by a bouncer
McMillan struck again when Prince got an attempted push down the ground for a single completely wrong, picking out long-off with unerring accuracy.
Boucher was caught in the same position, trying something more aggressive, and the innings was rapidly unravelling.
The final overs were entrusted to Bond and the spinner Jeetan Patel.
They bowled some excellent lengths with Pollock, Andrew Hall and Robin Peterson collecting just 18 runs from the last 18 balls.
On a day when little seemed to favour Graeme Smith's team, the second half of the match was played in bright sunshine, meaning the new ball did virtually nothing.
Nevertheless, Kiwi batsmen Peter Fulton and Ross Taylor did their best to create some suspense by getting out early on, though Taylor suffered a bad lbw decision from Mark Benson.
The 78-run partnership between Fleming and Styris cleared up any doubts as the South Africans shelled three of their catches.
Styris and McMillan then added a further 56, gently upping the run rate, before Boucher dropped his second catch - McMillan off Robin Petersen.
After a slight wobble in which Styris and Jacob Oram fell attempting big shots, Brendon McCullum settled matters by driving his first ball wide of mid-off for four.