The Black Caps will play India for a place in the Cricket World Cup final.
India's commanding win over Sri Lanka and Australia's narrow loss to South Africa have helped the Indian side finish at the top of the standings at the completion of the group stage.
New Zealand finished fourth, meaning their semifinal in Manchester on Tuesday night will be against India.
Australia and hosts England will play the other semifinal in Birmingham on Thursday.
At Old Trafford on Sunday (NZ time), prolific opener David Warner smashed a brilliant 122 but could not claim victory for Australia as they slipped to a 10-run defeat to South Africa.
Already-eliminated South Africa chose to bat and a century from captain Faf du Plessis took them to 325 for six in their 50 overs, a total boosted by Rassie van der Dussen's well-constructed 95.
Australia were in trouble early in their innings and a hamstring injury to number three batsman Usman Khawaja saw him retire hurt, and put the rest of his tournament in jeopardy, but they rallied magnificently before being bowled out for 315 with one ball remaining.
South Africa have been poor with the bat in the tournament but found form on an excellent wicket for stroke-making and posted their highest total of the World Cup.
Meanwhile earlier at Headingley, Rohit Sharma became the first player to make five centuries in a single World Cup and his opening partner KL Rahul also struck a fluent century as India crushed Sri Lanka.
Sri Lanka, who failed to reach the semi-finals, slumped to 4-55 in the 12th over before Angelo Mathews smashed his first century in nearly two years to help them to a respectable 7-264.
Rohit and Rahul made a mincemeat of the Sri Lankan attack to add 189 runs, the highest opening stand at this World Cup, which effectively settled the match.
Captain Virat Kohli made 34 not out as India romped home with 39 balls to spare for their seventh win in nine matches.