Kane Williamson's latest World Cup batting masterclass proved just enough to trump a stunning century from Carlos Brathwaite as New Zealand beat the West Indies by five runs in a World Cup thriller on Saturday.
The West Indies were all but defeated at 164 for seven, chasing 292 to win after Black Caps skipper Williamson led a recovery from 7-2 with a career-best 148 to take New Zealand to 291-8.
Brathwaite's remarkable hundred nearly saw the West Indies to an incredible success at Old Trafford.
But with six needed from seven balls, Brathwaite launched Jimmy Neesham for what he hoped would be the winning hit, only for Trent Boult to take a superbly judged catch just inside the long-on boundary.
Brathwaite sank to his knees in despair after falling for 101 off just 82 balls, including five sixes and nine fours, having dominated a last-wicket stand of 41 in which he scored all the runs.
Victory saw New Zealand return to the top of the table and all but secure their place in the semi-finals as a heart-breaking defeat left the West Indies on the verge of elimination.
"The West Indies are incredibly dangerous, even down their order. Credit to them, but credit to our side for getting a competitive total," Williamson said.
"It's a great game of cricket, good to be on the winning side. It's been a great learning curve for us."
West Indies skipper Jason Holder added: "A tough game at the end. I'm proud of the guys, especially Carlos Brathwaite.
"Getting so close I guess it does make it tougher to take, but when you look throughout the entire game, there were one or two areas where we fell down."
Veteran opener Chris Gayle threatened to make New Zealand pay dearly for dropping him three times during a typically blistering 87 off just 84 balls including eight fours and six sixes that delighted a near-capacity crowd.
But he eventually holed out during a collapse that saw five wickets lost for 22 runs in 28 balls.
Stand-in opener Hope, batting up front after Evin Lewis was unable to partner Gayle after being off the field injured for most of New Zealand's innings, played on to Boult for just one — the first wicket of an excellent 4-30 in 10 overs for the pace bowler
Gayle was first dropped on 15 when Boult floored a desperately difficult chance off Matt Henry as the ball dropped over his shoulder.
Gayle responded by hitting paceman Henry's next two balls for six.
Luck runs out
He was next reprieved on 58 when Henry dropped a routine chance at deep square leg off Mitchell Santner, with the spinner again denied Gayle's wicket in the same over when Colin Munro was unable to cling on at deep midwicket.
Gayle's luck ran out when he hoisted Colin de Grandhomme to the long-on boundary where Boult held a safe catch.
Shimron Hetmyer made 54 but couldn't press on and when Kemar Roach edged Henry to wicket-keeper Tom Latham, West Indies were 211-8.
But then came a dramatic rally, with the game turned on its head by a stunning 48th over from Henry that yielded 25 runs.
Brathwaite flat-batted a straight six and next ball he hit an extraordinary one-handed six, the ball flying over backward point and the batsman breaking his bat in the process.
But armed with a new bat, Brathwaite smashed a full toss straight over long-off for another six and then top-edged a four before scoring a single to keep the strike.
Brathwaite then hit Neesham for two to complete a century.
Earlier, New Zealand were 7-2 inside the first over after Sheldon Cottrell removed openers Martin Guptill and Munro for golden ducks.
But Williamson's second successive World Cup hundred after a match-winning 106 not out against South Africa on Wednesday -- took New Zealand to a competitive total.
Williamson went to his 13th one-day international hundred with his eighth four when he pulled a loose ball from fast bowler Kemar Roach
Teams
New Zealand: Martin Guptill, Colin Munro, Kane Williamson (capt), Ross Taylor, Tom Latham (wkt), Jimmy Neesham, Colin de Grandhomme, Mitchell Santner, Matt Henry, Lockie Ferguson, Trent Boult
West Indies: Chris Gayle, Evin Lewis, Shai Hope (wkt), Nicholas Pooran, Shimron Hetmyer, Jason Holder (capt), Carlos Brathwaite, Ashley Nurse, Kemar Roach, Sheldon Cottrell, Oshane Thomas