New Zealand will meet South Africa in the second Champions Trophy semi-final in Lahore on Wednesday after losing their last Group A match to India in Dubai on Sunday.
Spinner Varun Chakravarthy returned figures of 5-42 as India won by 44 runs to set up a semi-final with Australia on Tuesday.
India won all three of their group matches to top Group A.
India are playing all their matches at the Dubai International Stadium after they refused to tour hosts Pakistan due to security reasons.
Australia and South Africa had to travel to Dubai from Pakistan despite not knowing if they would be playing there, as India were told ahead of the tournament they would play the first semi-final if they qualified no matter where they finished in the group.
South Africa will now have to fly back to Pakistan ahead of their meeting with New Zealand.
The stage is set for the last 4️⃣ to compete for the 🏆 next!
🇮🇳 🆚 🇦🇺
🇿🇦 🆚 🇳🇿#ChampionsTrophy | ✍️: https://t.co/qd9rXYANc6 pic.twitter.com/Xke135eBef— ICC (@ICC) March 2, 2025
Shreyas Iyer’s 79 and a late 45 by Hardik Pandya steered India to 249-9 after being invited to bat first.
New Zealand pace bowler Matt Henry stood out with figures of 5-42 from his eight overs.
Chakravarthy took his first ODI five-wicket haul in just his second match as India bowled out New Zealand for 205 in 45.3 overs despite a valiant 81 by Kane Williamson.
Williamson survived two dropped catches on 17 and 68 in his 120-ball knock before he finally fell, stumped off Axar Patel.
New Zealand lost Rachin Ravindra early as Patel took a superb catch to dismiss the opener for six.
Chakravarthy cut short Will Young’s innings on 22 when he bowled him with a googly.
Williamson stood firm but could not find a long-term partner as Daryl Mitchell and Tom Latham were dismissed for 17 and 14 respectively.
India’s spinners dominated in helpful conditions, as Kuldeep Yadav sent back Mitchell and Ravindra Jadeja trapped Latham lbw.
In between the two wickets, Williamson hit Jadeja for a boundary to raise his 47th ODI half-century but India kept taking wickets.
POLL: Who will contest Champions Trophy final?
Earlier, India were in trouble at 30-3 when Virat Kohli, playing in his 300th ODI, fell victim to a stunning one-handed catch from Glenn Phillips.
An airborne Phillips clung on to a fast-travelling ball at backward point to dimiss Kohli for 11 off Henry.
Kohli was left standing in disbelief before trudging off the ground to stunned silence.
HIGHLIGHTS: New Zealand vs India (Champions Trophy)
Iyer and Patel, who made 42, put on 98 for the fourth wicket to rebuild the innings against a disciplined New Zealand attack.
Another stunning catch, this time by Williamson, who flung himself to his left at backward point to make a one-handed grab close to the ground, dismissed Jadeja for 16 off Henry.
Pandya struck four fours and two sixes in his run-a-ball innings to give India a total which proved to be enough.
© Agence France-Presse
Photo: Alex Davidson-ICC/ICC via Getty Image