Group B, Johannesburg: New Zealand 229-1 (36.5 overs) beat South Africa 306-6 (50 overs) by nine wickets (D/L method)
Rain and a supreme batting display from captain Stephen Fleming inspired New Zealand to a dramatic victory over South Africa in Johannesburg.
New Zealand beat the World Cup hosts by nine wickets, under the Duckworth-Lewis method, to take a crucial four points from their Group B clash.
With the possibility of points being deducted for missing the Kenya game, the win was vital to secure a realistic chance of advancing to the Super Six stage.
Fleming led the way, smashing an unbeaten 134 as the Black Caps raced to a revised target of 227 with 13 balls to spare in a match beset by rain delays and technical problems.
But it was a shocking reversal of fortune for tearful South Africa, who had made such a commanding start to the day with an innings highlighted by a Herschelle Gibbs century.
Gibbs smashed 143 from 141 balls as the World Cup hosts finished their 50 overs on 306 for six.
The right-hander's 12th century in one-day cricket was his first against the Black Caps and his first at The Wanderers Stadium.
But Gibbs was soon upstaged by Fleming, who claimed his highest ever one-day total as he knocked 21 fours in 132 balls.
The Kiwi skipper shared a second-wicket of 140 stand with Nathan Astle (a run-a-ball 54) to earn New Zealand only their second one-day win over South Africa in 13 matches.
Earlier, the Proteas got off to a flying start after electing to bat first, reaching 113 for one after 19 overs.
The side were then checked by the medium pace of Scott Styris and the slow left-arm of Daniel Vettori, with just 19 runs coming from the next eight overs.
But Vettori's figures were absolutely destroyed in his final over, which cost 20 as Gibbs pushed the pace before being caught at the boundary by Craig McMillan in the 47th over.
Lance Klusener, 33 not out, and Gary Kirsten (5) completed the blitzkreig as South Africa snatched 111 runs off the final 10 overs to set an imposing total.
But Fleming had other ideas as the Black Caps went into bat in an afternoon disrupted by delays.
A power failure in the Centenary stand subsequently affected the sightscreen and brought a frustrating 15-minute hold-up to the game before rain caused the the target to be revised.
With only Allan Donald claiming the solitary wicket of McMillan (25), it was only a matter of time after the Black Caps closed in on victory.
South Africa: Shaun Pollock (captain), Herschelle Gibbs, Gary
Kirsten, Graeme Smith, Jacques Kallis, Boeta Dippenaar, Mark
Boucher, Lance Klusener, Nicky Boje, Allan Donald, Makhaya Ntini.
New Zealand: Stephen Fleming (captain), Nathan Astle, Scott
Styris, Chris Cairns, Lou Vincent, Craig McMillan, Brendon McCullum,
Andre Adams, Daniel Vettori, Jacob Oram, Shane Bond.
Umpires: Steve Bucknor (WIs) and Peter Willey (Eng).
TV umpire: Daryl Harper (Aus).
Match referee: Wasim Raja (Pak).