India beat New Zealand by 44 runs Sunday to set up a semi-final clash with Australia in the Champions Trophy.
India won all three of their group matches to top Group A and will play the first semi-final of the 50-over tournament in Dubai Tuesday.
New Zealand will take on Group B winners South Africa in Lahore Wednesday.
Earlier, a gritty 79 by Shreyas Iyer and Hardik Pandya's late blitz helped India reach 249/9 against New Zealand.
To do so, they had to defy some outstanding pace bowling from Matt Henry who returned figure of 5/42 - his third five-wicket haul in One Day Internationals - from his eight overs and some breathtaking fielding.
Invited to bat first in Dubai, India were in trouble at 30/3 when Virat Kohli, playing in his 300th ODI, departed off a stunning one-handed catch from Glenn Phillips.
Iyer and left-handed Axar Patel, who made 42, put on 98 for the fourth wicket to rebuild the innings against a disciplined New Zealand attack.
Pandya hit a run-a-ball 45 as he smashed four fours and two sixes to boost the total on a sluggish pitch.
India will play the semi-final in Dubai after they refused to travel to hosts Pakistan because of political tensions.
New Zealand will leave for Lahore after the match, with the second semi-final to be played at Gaddafi Stadium.
Henry struck the first blow to have the in-form Shubman Gill - India's top batsman with 149 runs in three matches of the 50-over tournament - trapped leg before wicket for two.
Skipper Rohit Sharma was the next to depart when he mistimed a pull off Kyle Jamieson to be caught at square leg and in walked Kohli to a huge roar.
The joy was shortlived as an airborne Phillips clung on to a travelling ball at backward point to dimiss Kohli for 11 off 14 balls off Henry.
The fielder went full stretch to his right on a hard slash by Kohli, who stood in disbelief before trudging off the ground to stunned silence in his landmark match.
Iyer and Patel attempted to take the attack to the opposition as New Zealand rotated their spin options.
Left-arm spinner Rachin Ravindra broke the stand when he dismissed Patel, caught by Kane Williamson at short fine leg.
Lokesh Rahul (23) offered solid support in a partnership of 44 but Iyer's fine knock finally came to an end when he top-edged a short ball from Will O'Rourke to Will Young at short midwicket.
One more 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, broke another partnership as Ravindra Jadeja fell for 16 off Henry.
Pandya smashed the bowlers in the final few overs before Henry got him out, following up with the scalp of Mohammed Shami off the final ball.
12TH MATCH
India 249/9 (Iyer 79, Pandya 45, Henry 5/42) beat New Zealand 205 in 45.3 overs (Williamson 81, Santner 28, Chakravarthy 5/42) by 44 runs