Super Six, Centurion: India 150-3 (40.4 overs) beat New Zealand 146 all out (45.1 overs) by seven wickets
New Zealand face missing out on a place in the World Cup semi-finals after being overwhelmed by India's pace attack.
Zaheer Khan took four wickets for India to set up the win
The Black Caps, who needed to win to guarantee their place in the last four, were skittled out for 146 as Zaheer Khan shone with four wickets.
In reply, India crumbled to 21 for three and could have been in further disarray had wicket-keeper Brendon McCullum not dropped Rahul Dravid when on one.
But, after that missed opportunity, Dravid (53) steered his side to victory in a solid, if unspectacular, 129-run partnership with Mohammad Kaif (68).
The Kiwis must now rely on Zimbabwe beating Sri Lanka to go any further in the tournament.
Hopes of a New Zealand win were effectively dashed after their batsmen gifted their wickets cheaply with a series of rash shots.
Wicket-keeper McCullum fails to hang on to simple Dravid catch, which would have reduced India to 22 for four...
Khan was in devastating form from the start, leaving the opposition reeling at two wickets down after just three deliveries.
Craig McMillan, replacing Lou Vincent in the side, was the first man out after trying to pick up runs off his pads, only to be caught by Harbhajan Singh at short square leg.
Nathan Astle then followed the next ball trapped lbw with his side still yet to score.
Captain Stephen Fleming and Scott Styris briefly halted the rot with a steady, confident 38-run partnership before Styris was lured into an unnecessary drive by Ashish Nehra.
Afterwards the wickets tumbled steadily as Khan bowled McCullum before danger man Fleming mis-timed a pull shot to Sachin Tendulkar at mid-off to gift Javagal Srinath his only wicket.
Their departures brought Chris Cairns and Chris Harris to the crease and the pair briefly looked like restoring some pride before frustration got the better of Cairns and he was fooled into a rash stroke.
From there the tail end capitulated, and Kiwi hopes looked in disarray as they went out to field until an inspired start by Shane Bond and Daryl Tuffey.
Bond struck with his sixth ball when Virender Sehwag edged to Styris at second slip.
Bond struck early to give New Zealand some hope
He then picked up a second scalp in his next over when he bowled Sourav Ganguly with an inch-perfect yorker.
And, when Tuffey dismissed Sachin Tendulkar, the Black Caps were offered a glimmer of hope before McCullum allowed an easy Dravid catch to go begging.
Dravid was fortunate two overs later to escape the grasp of Fleming, while Kaif, who went on to make a half-century, narrowly avoided being caught by Chris Harris on six.
From there the pair settled and rarely mis-cued the ball before Kaif steered India to their seventh consecutive victory with back-to-back fours.
India: Sachin Tendulkar, Virender Sehwag, Sourav Ganguly (captain), Mohammad Kaif, Rahul Dravid, Yuvraj Singh, Dinesh Mongia, Harbhajan Singh, Zaheer Khan, Javagal Srinath, Ashish Nehra
New Zealand: Stephen Fleming (captain), Craig McMillan, Nathan Astle, Scott Styris, Chris Cairns, Chris Harris, Brendon McCullum, Daniel Vettori, Jacob Oram, Daryl Tuffey, Shane Bond