Praveen Kumar grabbed three early wickets and Virender Sehwag smashed a superb century as India entered the tri-series final with an emphatic 105-run win over New Zealand.
India, with 10 points from four matches, will clash with Sri Lanka (11 from four) in the final on Saturday. New Zealand finished their league engagements with seven points.
Paceman Kumar finished with 3-34 as New Zealand, chasing a 224-run target, were shot out for 118 in 30.1 overs - their lowest total against India in One-Day Internationals.
India were indebted to Sehwag for posting a competitive total as the hard-hitting opener cracked one six and 16 fours in a 93-ball 110 for his 13th one-day hundred. India virtually wrapped up the match when they sent New Zealand struggling at 22-4 in the ninth over, with Kumar taking three wickets.
Tail-ender Kyle Mills hammered an entertaining 52 for his second half-century in one-dayers, but his knock came too late to stop India from the winning the match. Mills hit three sixes and seven fours in his 35-ball knock.
Kane Williamson (13), Grant Elliott (11) and Tim Southee (10) were the others to reach double-figures in New Zealand's disappointing batting performance. Fast bowlers Munaf Patel (3-21) and Ashish Nehra (2-10) were India's other main wicket-takers.
Earlier New Zealand paceman Southee (4-49) and off-spinner Nathan McCullum (3-35) earlier shared seven wickets to bowl India out for a modest total despite Sehwag's century.
India were tottering at 66-4 in 13 overs after electing to bat when Sehwag propped up the innings with a 107-run stand for the fifth wicket with skipper Mahendra Singh Dhoni (38).
Southee, Mills (2-42) and Andy McKay (1-31) tested the Indian batsmen with pace and bounce in their lively opening spells to help New Zealand seize the early initiative. Dinesh Karthik, Virat Kohli, Yuvraj Singh and Suresh Raina all failed to reach double-figures.
The Indian opener fell playing shots, caught at deep mid-wicket by Bradley-John Watling off McCullum in the 33rd over. McCullum struck again when he had Dhoni caught by wicket-keeper Gareth Hopkins, who took four catches.