India, chasing 240 to win, were reduced to 24-4 and 92-6 before Ravindra Jadeja and MS Dhoni produced a 116-run partnership to drag the 2011 winners back in contention.
Jadeja in particular was superb but with 37 runs needed from the final 18 balls, Jadeja hit Trent Boult high into the air and to Black Caps captain Kane Williamson to fall for 77.
Dhoni struck a six off the first ball of the 48th over but was then superbly run out by Martin Guptill to realistically end India’s slim chances.
The final wicket — last man Yuzvendra Chahal edging behind — was greeted with shock by an India heavy crowd, as New Zealand gathered into a huddle.
Make no mistake, this was a stunning, surprising, unexpected win by New Zealand, with India heavily tipped from the start to win the tournament.
With play going into the reserve day after rain ended play on Tuesday, the bowlers were superb up front, defending what seemed to be meagre target.
Boult swung the ball, Matt Henry and Lockie Ferguson bowled with pace, and Guptill and Jimmy Neesham produced two outstanding bits of fielding to put New Zealand into the final.
They will play either England or Australia in Sunday’s final, with those two sides set to meet at Edgbaston on Thursday.
Going into a reserve day, this match could have been played out in front of an empty stadium – but that was not the case with Old Trafford full of vibrant, noisy, India fans.
With New Zealand adding 28 runs off 23 balls to reach 239-8 in their rain-affected 50 overs on Wednesday morning, India looked to be in the ascendency, but a brilliant start by the Kiwi bowlers soon put paid to that.
Boult and Henry were all over the batsmen; Rohit Sharma, the tournament’s leading run-scorer, edged Henry behind before talismanic captain Virat Kohli was trapped lbw by Boult.
Kohli was visibly unhappy at the decision and reviewed it but the ball was shown to be hitting and Kohli stood, aghast, on the pitch before walking off.
India were in further trouble when KL Rahul nicked Henry through to wicketkeeper Tom Latham to leave them 5-3.
As is so often the case when things are going one side’s way, everything seems to stick in the hands. Neesham pulled off a superb, one-handed take at backward point to dismiss Dinesh Karthik and leave India reeling.
It is a credit to New Zealand that they kept their nerve in the final overs when Jadeja and Dhoni, one of the best finishers in the game, had the target down to a manageable total.
However, Williamson’s superb catch to a steepling offering off Jadeja was the inspiration New Zealand needed. Guptill’s run out a handful of deliveries later just showed what a sharp side this Black Caps team are.
And the idea of this bowling attack, at Lord’s, with a slope to help the ball swing, will worry both England and Australia. (BBC Sport)