MUMBAI: Virat Kohli scored a record-breaking 50th one-day international hundred and Mohammed Shami took seven wickets as India beat New Zealand by 70 runs to reach the Cricket World Cup final on Wednesday.
Kohli made 117 to surpass the ODI century record he had shared with India great Sachin Tendulkar, and Shreyas Iyer clubbed a rapid 105 in a commanding total of 397-4.
New Zealand were then dismissed for 327 despite Daryl Michell's 134 with paceman Shami taking a sensational career-best 7-57.
The Black Caps had hope of an improbable win during a third-wicket stand of 181 between captain Kane Williamson and Mitchell at the Wankhede Stadium
Shami, however, all but ended the chase with two wickets in three balls during the 33rd over.
Star batsman Williamson fell for 69 when he flicked Shami -- who had dropped him on 52 -- straight to Suryakumar Yadav at deep square leg.
And 220-3 became 220-4 when Shami had Tom Latham lbw for a duck.
Shami then went on to better his previous one-day international best of 5-18 against Sri Lanka at the Wankhede earlier in the tournament by dismissing Mitchell, Southee and last man Lockie Ferguson.
In Sunday's final, India will face either Australia or South Africa who play their semi-final on Thursday.