Manchester: New Zealand survived Ravindra Jadeja's late onslaught to stun India by 18 runs in a low-scoring thriller on Wednesday and reach the ICC World Cup final for the second time in a row.
Twice champions India were reeling at 24-4 in their chase for a modest victory target of 240 in what had appeared to be a lop-sided semifinal.
Jadeja (77) then partnered Mahendra Singh Dhoni in a century-plus stand but India were bowled out for 221 in the final over and New Zealand will play hosts England or defending champions Australia in Sunday's final at Lord's.
Opting to bat first in the rain-hit contest played over two days, New Zealand's 239 for eight looked far from imposing against India's formidable batting lineup.
But Matt Henry (3-37) and Trent Boult (2-42) ripped the heart out of India's top order and spinner Mitchell Santner struck two crucial blows in the middle overs.
Henry dismissed Rohit Sharma, the World Cup's leading scorer, and Boult trapped Kohli lbw in the next over.
The India captain reviewed the decision but could not get it overturned.
The horror continued for India as KL Rahul became the third Indian top order batsman to depart for one, Henry's second caught-behind victim.
Jimmy Neesham took a magnificent left-handed catch to dismiss Dinesh Karthik as India slumped to 24-4 in 10 overs.
Rishabh Pant added 47 runs with Hardik Pandya to somewhat arrest the slide.
Pant made 32 before his wild heave off Santner found Colin de Grandhomme near the mid-wicket boundary.
Pandya, struggling with a hip injury, also made 32 before throwing away his wicket.
Jadeja injected fresh excitement into the match with his brave counter-attack that left his team needing 90 runs off the last 10 overs with four wickets in hand.
He and Dhoni (50) kept India afloat in the chase which was eventually derailed when both fell in successive overs.
New Zealand captain Kane Williamson had won the toss on Tuesday and opted to bat at a venue where teams batting first had won all five previous matches in the tournament.
India's new ball pair of Bhuvneshwar Kumar (3-43) and Jasprit Bumrah bowled with impeccable discipline while Jadeja was also very economical with the ball.
Resuming on the reserve day at 211-5, New Zealand added 28 runs from the remaining 23 deliveries as Ross Taylor top-scored with a gutsy 74 to go with Williamson's 67.
Jadeja proved his value as a fielder with a pinpoint throw to run out Taylor and in the next delivery, took a well-judged catch near the ropes to dismiss Tom Latham.
Matt Henry was declared Man of the Match for his brilliant spell of 3/37.