Virat Kohli made a masterful 95 and Mohammed Shami claimed 5-54 as World Cup hosts India beat New Zealand by four wickets in Dharamsala.
Kohli hit two sixes and eight fours in another classy knock to put India on the brink of victory as they chased down a target of 274.
Shami earlier starred with the ball as Daryl Mitchell’s 130 made up the bulk of New Zealand’s runs.
Table toppers India are the only unbeaten side left after five matches.
Fog briefly stopped play during India’s reply but Kohli’s mind remained clear as he played a big hand in the highest successful chase in a one-day international at this ground.
He produced another stellar innings and now has 354 runs at an average of 118 in a tournament on which he looks set to leave an indelible mark.
Rohit Sharma had given India a solid start with a typically bold 46 off 40 balls but Kohli’s calm assurance to pace the chase was key after three of India’s top order made starts without kicking on.
Kohli fell five agonising runs short of equalling Sachin Tendulkar’s record of 49 ODI centuries when he holed out to Glenn Phillips in the deep off Matt Henry with five runs needed for victory.
But Ravindra Jadeja, who made 39 not out, got India over the line with 12 balls to spare when he hit Henry for four.
Earlier, Mitchell and Rachin Ravindra, who struck 75, helped New Zealand recover from the loss of two early wickets with a third-wicket stand of 159.
Mitchell brought up his century off exactly 100 balls but both he and the Kiwis will rue the fact they could not capitalise in the final 10 overs to post a more commanding total. (BBC)