India reached the World Cup final by holding off New Zealand on a memorable night in Mumbai that included Virat Kohli's record-breaking 50th one-day international century. Superstar Kohli moved clear of his legendary former team-mate Sachin Tendulkar's hundred tally as India piled up 397-4.
But New Zealand threatened to spoil the hosts' party at the Wankhede Stadium. Daryl Mitchell scored a sublime century of his own and put on 181 runs from 149 balls with skipper Kane Williamson to quieten the febrile home support and give the Black Caps a shot at an improbable victory.
India were feeling the pressure with the Black Caps on 220-2, when Mohammed Shami removed Williamson for 69 and Tom Latham for a two-ball duck in the 33rd over. Glenn Phillips' 41 from 33 kept New Zealand in with an outside chance but he holed out and Mitchell followed for 134 to Shami.
Fast bowler Shami ended with incredible figures of 7-57 – the best for India in ODIs – and New Zealand were ultimately bowled out for 327, leaving them 70 runs short. Earlier Kohli effortlessly made 117 from 113 balls, while Shreyas Iyer scored the game's fastest century – a 70-ball 105, with eight sixes.
India, chasing their first World Cup title since winning on home soil in 2011, will play Australia or South Africa in Sunday's final in Ahmedabad in what promises to be a remarkable occasion. The second semi-final is in Kolkata on Thursday from 08:30 GMT.
Kohli's day to remember
When 34-year-old Kohli reached his landmark century, he dropped to his knees and bowed down to the executive boxes where Tendulkar, his childhood hero, was sitting. Tendulkar's last innings for India took place on this day 10 years ago on the same ground.
Some things are written in the stars. Kohli started by steadily moving to fifty in 59 balls after captain Rohit Sharma laid a platform with a 29-ball 47 and Shubman Gill, whose innings was split in two by a hamstring injury, made 80 not out from 66 balls.
New Zealand reviewed an lbw shout on Kohli's second ball but the technology showed a thin inside edge. A glorious aerial drive for four off Trent Boult sparked a change in tempo. Kohli followed that with a stunning flicked six into the stands over mid-wicket.
His biggest scare came on 91 when he pulled up with cramp in his hamstring. There were further nervy moments in the nineties – a close run-out chance and a drive almost hit to extra cover – but Kohli could not be denied his moment.
He was eventually caught at deep square-leg but not before he passed Tendulkar's record for most runs in one World Cup in what was his third century of this tournament. Whatever happens on Sunday, his status as an all-time great is already secured.
Kiwis fall short despite Mitchell magic
New Zealand were always second favourites – they needed to pull off the second-highest chase in ODI history – but when India were wobbling in the field, a Black Caps win did not feel out of the question. India had lost their past four semi-finals in World Cups and they conceded 30 extras, twice gifted four overthrows and Shami dropped a simple chance to remove Williamson on 52.
Mitchell was superb. He twice cracked huge straight sixes, including a 107-metre hit – the biggest of the tournament. Thankfully for the hosts, Shami was even better. He had already removed Devon Conway with his first delivery and Rachin Ravindra shortly after, before he delivered two decisive blows in the same over.
Williamson was caught at deep square leg and Latham pinned in front two balls later. With New Zealand needing 132 from 60 balls, Phillips took 20 runs from an over by Mohammed Siraj.
But Phillips was caught in the deep off the bowling of Jasprit Bumrah before, fittingly, Shami took the final two wickets to spark Indian celebrations. Shami missed the first four games but he now leads the way on 23 wickets in the tournament.
Despite being below their best in the field, India march on.
‘We just had to stay collected' – reaction
India captain Rohit Sharma: “I have played a lot of cricket here so I know with any score on this ground you cannot relax.
“We knew there would be pressure on us at some stage. We just had to stay collected. That's what we did. We were very calm even though we were sloppy in the field.
“Daryl Mitchell and Kane Wiliamson batted brilliantly. For us it was important to stay calm. We tried everything and Mohammed Shami was brilliant.”
New Zealand captain Kane Williamson: “Congratulations to India. They've played outstandingly well throughout and perhaps played their best game of the competition here.
“It was a proud effort to stay in the fight. It's disappointing to go out in the knockout stages, but I'm super proud of the effort that has gone into these seven weeks as a side.”
Player of the match, India fast bowler Mohammed Shami: “I was waiting for my chances. I didn't play a lot of white-ball cricket.
“The last two World Cups, we lost in the semis. Who knows when or if we'll get a chance, so we wanted to do everything for this, one chance we didn't want to let go.”
— CutC by bbc.com