Kane Williamson's sublime century guided New Zealand to a thrilling four-wicket win over South Africa to move the Black Caps top of the World Cup table and all-but eliminate the Proteas from semi-final contention.
Williamson's 106 not out, his 12th ODI hundred, underpinned New Zealand's pursuit of 242, with the skipper sealing a 137-ball ton with a six off Andile Phehlukwayo in the final over before completing victory with three balls to spare.
Unbeaten New Zealand lost three wickets for eight runs after Martin Guptill (35) was out hit wicket as they tumbled to 80-4 in a fixture reduced to 49 overs a side due to a wet outfield at Edgbaston.
But captain Williamson, who added 91 with Colin de Grandhomme (60 off 47) for the sixth wicket, notched his 50th fifty-plus score in ODIs to steer his side home, with South Africa made to rue not using their review when he bottom-edged Imran Tahir behind on 76 and then fumbling the chance to run him out on 77.
New Zealand's fourth win in five moves them onto nine points, one clear of England and Australia, and leaves South Africa in eighth with three points from six matches - the Proteas are unlikely to make the top four even if they defeat Pakistan, Sri Lanka and Australia in their final three group games.
South Africa were limited to 241-6 in Birmingham, with Black Caps seamer Lockie Ferguson taking 3-59 and Rassie van der Dussen (67no off 64) and the far-from-fluent Hashim Amla (55 off 83) the only players to pass fifty.
Amla became the second-fastest player to 8,000 ODI runs during his stodgy 38th ODI fifty, the 36-year-old achieving the feat in his 176th innings, behind only India captain Virat Kohli, who recorded the landmark in 175.
Amla shared half-century stands with Faf du Plessis (23) and Aiden Markram (38) after his opening partner Quinton de Kock (5) was bowled by a Trent Boult in-swinger once play began 90 minutes behind schedule.
Amla's hopes of a 28th ODI century - which would have placed him fourth on the all-time list, alongside ex-Sri Lanka opener Sanath Jayasuriya - were ended when he was bowled by a delivery from spinner Mitchell Santner that turned on middle stump and hit the top of off.
New Zealand's attack - playing their first game since June 8 after last Thursday's clash with India was wiped out by rain - restricted a slow-scoring South Africa, with De Grandhomme (1-33) and Matt Henry (0-34) particularly economical.
Van der Dussen and David Miller (37 off 36) added a little impetus with a fifth-wicket stand of 72, while Van der Dussen - whose fifty was his sixth in 12 knocks for his country - hit the final two balls of the innings for six and four respectively as South Africa took 15 off Ferguson's last over.
Those runs slightly sullied an excellent performance from paceman Ferguson, who bowled Du Plessis with a yorker and had Miller and Phehlukwayo (0) caught as he took his wicket tally in the tournament to 11.
Colin Munro smashed Kagiso Rabada for back-to-back boundaries in the first over of the run chase, only for the seamer to exact revenge in the third when he caught the opener off his own bowling for nine.
New Zealand recovered as Guptill and Williamson put on 60 for the second wicket but when the former slid into his stumps after hooking away a delivery from Phehlukwayo, a mini-collapse ensued, with Chris Morris (3-49) having Ross Taylor (1) and Tom Latham (1) caught behind.
Williamson anchored the chase, though, putting on 57 with Jimmy Neesham (23) for the fifth wicket and then finding a fine ally in De Grandhomme, who was nearly run out by Miller on 14, dropped by the same fielder on 22 as he attempted a one-handed catch and then pulled close to Miller again on 53.
Williamson also enjoyed moments of fortune - South Africa not detecting his under-edge and then failing to run him out as Miller made a mess of gathering at the non-striker's end as the throw came in from midwicket.
Williamson then chipped just short of bowler Lungi Ngidi in the penultimate over on 91, one delivery after De Grandhomme had clubbed the seamer, fit again after a hamstring strain, to Du Plessis at long-off.
The New Zealand captain, though, glided a superb boundary through third man from Ngidi's final delivery to leave his men needing eight from the final over and then, after Santner had got him on strike, smoked the decisive maximum over deep midwicket and the match-winning four.
Du Plessis' men must be sick of the sight of New Zealand, who eliminated them from the previous two World Cups, in the 2011 quarter-final in Dhaka and in the semi-final four years ago in Auckland.
You can watch every match of the 2019 ICC Cricket World Cup on Unisda Unisdas Cricket World Cup (channel 404), including Australia vs Bangladesh from 10am on Thursday.