Trent Boult led an inspired bowling display to help New Zealand down Sri Lanka by five wickets on Thursday and move to the brink of the World Cup semi-finals.
Chasing a modest 172 for victory, New Zealand rode on an opening stand between Devon Conway (45) and Rachin Ravindra (42) to achieve the target with 160 balls to spare in Bengaluru.
The Kiwis remain in fourth position with 10 points ahead of Pakistan and Afghanistan and a with much superior net run-rate than their rivals.
Both Pakistan and Afghanistan need improbable victory margins in their last matches against England and South Africa respectively to have any of chance of making the final four.
The Black Caps, in their last league match, bounced back from four straight losses to close in on a likely semi-final clash against undefeated India.
Ravindra, who also took two wickets, added to his blazing form in the tournament including three centuries to edge past South Africa's Quinton de Kock and top the batting chart with 565 runs.
Both left-handed openers struck regular boundaries before Dushmantha Chameera broke through with the wicket of Conway and soon Ravindra followed his partner to the pavilion.
Skipper Kane Williamson fell for 14 and Mark Chapaman was run out but Daryl Mitchell's attacking 43 ensured an easy way home despite his departure 10 runs short of the target.
Boult returned figures of 3-37 after the Kiwis elected to field first and bundled out Sri Lanka for 171 in 46.4 overs.
Opener Kusal Perera smashed 51 but the rest of the batting fell apart.
Sri Lanka slipped to 128-9 before number nine Maheesh Theekshana (38 not out) and Dilshan Madushanka (19) put on a 43-run 10th-wicket to add some respect to the total.
Sri Lanka lost half their side for 70 inside 10 overs after Lockie Ferguson sent back the left-handed Perera, who hit nine fours and two sixes in his 28-ball knock.
Perera was dropped on nought by wicketkeeper Tom Latham off Tim Southee who struck with a wicket on the next ball to send back Pathum Nissanka, caught behind for two.
Boult then took the wickets of skipper Kusal Mendis (six), Sadeera Samarawickrama (one) and Charith Asalanka (eight), who was given not out but the Kiwis successfully reviewed the decision in their favour.
The Mendis strike was Boult's 50th World Cup wicket Cup to enter elite company including Glenn McGrath, Muttiah Muralitharan, Mitchell Starc, Lasith Malinga and Wasim Akram.
Leg-spinner Mitchell Santner struck twice with his left-arm spin to claim the key wickets of Angelo Mathews (16) and Dhananjaya de Silva (19).
Mathews looked dejected after being caught at slip off Santner's left-arm spin in his first innings after his "timed out" dismissal -- the first in international cricket history -- in the team's previous loss to Bangladesh.
Sri Lanka suffered their seventh loss in nine league matches.
Cricket: World Cup standings
Cricket World Cup standings after Thursday's match (played, won, lost, tied, no result, points, net run rate):
India 8 8 0 0 0 16 2.456 -- Qualified
South Africa 8 6 2 0 0 12 1.376 -- Qualified
Australia 8 6 2 0 0 12 0.861 -- Qualified
New Zealand 9 5 4 0 0 10 0.743
------------------------------------
Pakistan 8 4 4 0 0 8 0.036
Afghanistan 8 4 4 0 0 8 -0.338
England 8 2 6 0 0 4 -0.885
Bangladesh 8 2 6 0 0 4 -1.142
Sri Lanka 9 2 7 0 0 4 -1.419
Netherlands 8 2 6 0 0 4 -1.635
Note: Top four teams qualify for the semi-finals