New Zealand returned to winning ways at the World Cup following a four-match slump as they defeated Sri Lanka by five wickets at the M Chinnaswamy Stadium on Thursday and all but secured their place in the semi-finals.
Opening batsmen Devon Conway (45) and Rachin Ravindra (42) got fourth-placed New Zealand's chase of 172 off to a fast start and Daryl Mitchell (43) got them close before they crossed the finish line in 23.2 overs.
Victory left New Zealand on 10 points and in pole position to bag the last semi-final spot and join India, South Africa and Australia. Pakistan will now need to beat England by a massive margin to leapfrog New Zealand on net run rate.
Conway and Ravindra provided an ideal start to the Kiwis, scoring at a brisk pace in the powerplay and putting up 73 runs. In the next 10 overs, Sri Lanka bounced back claiming three wickets to raise hopes of an unlikely comeback.
Dushmantha Chameera broke the opening partnership by dismissing Conway for a score of 45(42). Maheesh Theekshana followed up in the next over to send Ravindra back to the pavilion for a score of 42(34).
Williamson (14) failed to make the most of a start and got out as he tried to play a cut shot, found an inside edge and the ball crashed into the stumps.
Mark Chapman and Daryl Mitchell's miscommunication helped Sri Lanka claim their fourth wicket of the night.
Mitchell lost his wicket while making an attempt to clear the boundary, he tried to lift it over the covers but played it a bit early, Asalanka at deep mid-wicket made no mistake while taking the catch.
Glenn Philips and Tom Latham ensured that the Kiwis chased down the target without losing any further wickets.
Earlier, seamer Trent Boult and off-spinner Mitchell Santner landed timely blows as Sri Lanka limped to 171 all out after an early blitz by Kusal Perera (51) and a defiant late effort by Maheesh Theekshana (38 not out).
New Zealand captain Kane Williamson's decision to bowl after winning the toss paid off early, as Boult (3-37) and Tim Southee (1-52) tore through the Sri Lanka top order to leave them in trouble at 32-3 inside five overs.
Perera, who was dropped on zero by Tom Latham in the second over, punished New Zealand with a 22-ball fifty but lost another partner when Boult trapped Charith Asalanka lbw to turn up the heat on the 1996 champions.
A fit-again Lockie Ferguson (2-35) struck in his second over to dismiss the aggressive Perera as Sri Lanka collapsed to 70-5 and eventually folded in the 47th over for a modest total after Santner (2-22) and Ravindra (2-21) joined the party.
Santner curtailed Sri Lanka during a crucial phase of the innings and removed Angelo Mathews (16) and Dhananjaya de Silva (19) before Theekshana and Dilshan Madushanka (19) frustrated New Zealand with a 10th-wicket stand of 43.