They restricted New Zealand for 239 runs for 8 in 50 overs at Emirates Old Trafford in Manchester on Wednesday.
The match started on Tuesday but was paused due to rain.
New Zealand won the toss and decided to bat first against two-time champion India in the first semifinal and scored 211 for 5 in 46.1 overs before rain interrupted the match.
Match officials waited for more than four hours to resume the game but incessant rain pushed the game to the reserve day (Wednesday).
New Zealand added only 28 runs in 23 balls on the reserved day.
Ross Taylor was the highest runs getter for New Zealand scoring 74 runs off 90 balls featuring three fours and one six.
Besides, New Zealand captain Kane Williamson also hit a fifty (67). Henry Nicholls was the third-best batsman of New Zealand scoring only 28 runs.
For India, Bhuvneshwar Kumar bagged three wickets for 43 in 10 overs while Jasprit Bumrah, Hardik Pandya, Ravindra Jadeja and Yuzvendra Chahal took one wicket each.