Virat Kohli struck a record 50th hundred and fast bowler Mohammed Shami's seven-wicket haul proved equally crucial as the unbeaten hosts overpowered New Zealand by 70 runs in a high-scoring match on Wednesday to march into the World Cup final.
Kohli's 117 and a blistering 105 from Shreyas Iyer helped India post 397 for four wickets after they won the toss at the Wankhede Stadium, where the hosts had lifted their second and last 50-over World Cup trophy in 2011.
In reply, New Zealand, who beat India at the same stage in the 2019 tournament, were bundled out for 327 in the 49th over with Daryl Mitchell's excellent innings of 134 proving to be in vain.
Australia and South Africa meet in the second semi-final at Kolkata's Eden Gardens on Thursday, with the final on Sunday in Ahmedabad.