Virat Kohli blasted an unbeaten 133 off just 86 balls as India's stunning seven-wicket bonus point victory over Sri Lanka kept them alive in the tri one-day series in Hobart on Tuesday.
The 23-year-old right-hander produced his highest ODI score to propel the World Cup champions to a remarkable 321 for three off just 36.4 overs and secure the extra point with 20 balls to spare.
The bonus point enabled India to draw level with Sri Lanka on 15 points. The World Cup runners-up now need to beat Australia in Friday's last round-robin game in Melbourne to reach the best-of-three match finals.
Australia are already in the finals, which get under way in Brisbane on Sunday.
Kohli was the stand-out man-of-the-match with 16 fours and two sixes in an ODI featuring three century-makers and a combined total of 641 runs off 86.4 overs.
"That was the best one-day innings I've played in my career because we needed to pull off a win with a bonus point and we were able to do that so I am really happy with the performance," Kohli said.
"With the partnership with (Gautam) Gambhir we knew the run-rate was coming down and we knew it would become a Twenty20 game for us.
"I have been believing in myself every day and waking up and thinking I belong here and that I can score runs at international level and that's the biggest thing that has kept motivating me on this tour."
India came into the Hobart match on the back of three defeats and a tie and their problems were magnified when in-form Sri Lanka appeared to set a daunting target of eight runs an over for them to claim the vital bonus point.
Tillakaratne Dilshan equalled his best one-day score of 160 and Kumar Sangakkara smashed a ton to push Sri Lanka's total to 320 for four off 50 overs.
Dilshan took just 165 balls to reach his total, battering 11 fours and three sixes.
He equalled his highest ODI score, also set against India in 2009, and shared a 200-run second wicket stand with Sangakkara to leave India with it all to do.
Sangakkara's 105 came off 87 balls -- with eight fours and two sixes -- at the small Bellerive Oval.
He flayed the Indian attack and has now scored 10,152 runs in the limited overs game at 37.88.
Openers Virender Sehwag (30 off 16 balls) and Sachin Tendulkar (39 off 30 balls) gave India a flying start and Gambhir chipped in with 63 off 64 balls.
It was Gambhir and Kohli's third-wicket stand of 115 runs that accelerated India's run-rate and they were well in the hunt when Gambhir was run out with the score at 201 for three.
Raina (40 not out) carried on the big hitting with Kohli and the pair added a further 120 runs off just 55 balls to see India cruise to an unexpected comfortable victory.
Kohli smashed Lasith Malinga for two, six, four, four, four and four to plunder 24 runs off the 35th over and leave India just 18 runs away from a sizzling bonus-point victory.
"They had the licence to go for it today, there was nothing left for them to do but to go for it which they did," Sri Lanka captain Mahela Jayawardene said.
"The wicket played pretty well, we didn't pick up wickets up front and they batted exceptionally well.
"It's tough to try to stop somebody (Kohli) going like that, everything he hit was pretty solid today."