Suresh Raina and Irfan Pathan saw India to a five-wicket win in the third one-day international against Sri Lanka in Colombo after Gautam Gambhir's century at the top of the order had put them on course for the win.
Set a target of 287, Gambhir made 102 and although he was run out with the tourists still requiring 91 runs, Raina's unbeaten 65 coupled with Pathan's 34 not out guided India to a 2-1 lead in the five-match series.
Sri Lanka's day got even worse when it was confirmed Kumar Sangakkara had fractured a finger on his right hand and will miss the final two games.
The left-hander was struck on the glove by Ashok Dinda while batting. He was on 24 at the time and continued to top score with 73 out of Sri Lanka's 286-5.
Sangakkara faces four to six weeks out and is a doubt for the World Twenty20, which gets under way in Sri Lanka on September 18.
Angelo Mathews struck an unbeaten 71 off 57 balls to build on the foundations laid by Sangakkara and captain Mahela Jayawardene (67) after Sri Lanka had collapsed to 20-3.
The two veteran batsmen put on a stand of 121 for the fourth wicket while Mathews and Jeevan Mendis (45 not out) added an unbroken 104 for the sixth wicket.
While Sangakkara and Jayawardene steadily accumulated, between them hitting just 10 fours, Mathews and Mendis put India's bowling to the sword, with the former striking five fours and a six in an impressive innings.
In response, Gambhir was the anchor of India's innings, which included a stand of 105 for the second wicket with Virat Kohli (38) although Sri Lanka paceman Lasith Malinga then took the wickets of Mahendra Singh Dhoni and Rohit Sharma in successive balls.
Gambhir reached his century off 96 balls but was then run out after attempting a quick single shortly after.
With the game in the balance at 196-5, Raina and Pathan put on an unbroken 92 for the sixth wicket to steer the World Cup winners to victory with two balls to spare.