Virat Kohli cracked a century and part-timer Manoj Tiwary bagged four wickets as India posted a comfortable six-wicket win over Sri Lanka in the fourth one-day international on Tuesday.
Kohli, who also scored a hundred in the opening game, made a 119-ball 128 not out as India surpassed Sri Lanka's total of 251-8 with more than seven overs to spare for an unbeatable 3-1 lead in the five-match series.
Tiwary earlier played a key role in restricting Sri Lanka in the day-night match in Colombo, taking four wickets with his leg-spin in his first game of the series.
Kohli, who hit one six and 12 fours, completed his 13th one-day century with an aggressive shot when he pulled fast bowler Lasith Malinga for a boundary.
India were under pressure at 109-4 before Kohli and Suresh Raina (58 not out) added 146 runs to steer their team home.
Raina, dropped on 19 by skipper Mahela Jayawardene in the slips off debutant paceman Nuwan Pradeep, hit one six and four boundaries in his 51-ball knock.
Opener Upul Tharanga (51), Lahiru Thirimanne (47) and Tillakaratne Dilshan (42) were the main scorers for Sri Lanka, who were 152-2 in the 32nd over.
Indian off-spinner Ravichandran Ashwin took two wickets and part-time spinner Virender Sehwag one.
Sri Lanka made an impressive start after electing to bat, with Tharanga and Dilshan adding 91 for the opening wicket.
Fast bowler Ashok Dinda broke the stand when he removed Dilshan, who was caught behind after cracking seven fours in his 48-ball knock.
Tharanga, who pulled Dinda for the first six of the match, fell soon after completing his half-century, stumped by skipper Mahendra Singh Dhoni off Ashwin. He also hit four boundaries in his 73-ball knock.
Dinesh Chandimal (28) and Thirimanne put on 50 for the third wicket before Tiwary struck in his opening over, having Chandimal caught by Irfan Pathan at square-leg.
Off-spinner Sehwag got a big wicket when he had Jayawardene caught behind for three to reduce Sri Lanka to 155-4.
Sri Lanka made two changes from the side that lost the last match by five wickets, bringing in Thirimanne and Pradeep in place of injured Kumar Sangakkara and Isuru Udana.
India replaced leg-spinner Rahul Sharma with Tiwary.