Tillakaratne Dilshan's first one-day international century on home soil helped Sri Lanka to a 74-run win over India in the final of the Dambulla triangular series.
Chasing a target of 300, the visitors lost wickets at regular intervals and a match-winning partnership eluded them throughout their innings, though captain MS Dhoni (67) launched a lone, albeit unsuccessful, battle.
Thisara Perera and Suraj Randiv bowled India out for 225 by picking up three wickets each after Sri Lanka batsmen Dilshan (110) and Kumar Sangakkara (71) helped the hosts pile up 299-8 in 50 overs.
India made a dismal start to their chase, losing both Dinesh Karthik and Virender Sehwag inside six overs.
Bizarre run out
Sehwag (28) looked threatening during his 22-ball innings, but departed after a bizarre run out trying to steal a non-existent leg-bye.
Yuvraj Singh (26) survived a number of shouts before finally edging behind attempting to play Perera across the line, to reduce India to 88 for three in 15.2 overs.
Kohli and Dhoni took India past the 100-run mark, but Perera got in on the action soon after snaring Kohli (37), whose mistimed pull was held by an agile Angelo Mathews at third-man.
Suresh Raina joined Dhoni in the middle and the two put together a useful 49-run stand for the fifth-wicket.
Raina (29) fell attempting to hit Randiv for his third six, and the spinner got his second wicket soon after snaring Rohit Sharma, who was stumped off a ball that beat him in flight and hit Sangakkara's pad only to rebound onto the stumps.
Praveen Kumar, who came in when India needed 123 runs from 16 overs, showed promise by hitting a four and a six but was foxed by a Lasith Malinga yorker to leave India on 201-7.
Amid the tumble of wickets, Dhoni inched past 50, but did not get enough support from the India tail which did not have answers to rampaging Sri Lanka bowlers.
Ishant Sharma and Ashish Nehra fell under the pressure of mounting asking rate, while Dhoni tried to keep the ship afloat.
However, the end came when Dhoni dragged a Randiv delivery onto his stumps with 19 balls left in the innings.
Batting first after winning the toss, Dilshan and Mahela Jayawardene gave Sri Lanka a great start adding 121 runs in just over 20 overs.
Sharma and Singh applied the brakes, claiming Jayawardene (39) and Upul Tharanga (6) within four overs.
Sangakkara joined Dilshan in the middle and denied further success to India's bowlers. The dashing opener brought up his first century at home, and eighth overall, and added 85 runs for the third wicket.
The Delhi Daredevils star scored boundaries at will, but slowed down a touch as he inched closer to the three-figure mark.
Kumar provided the much-needed breakthrough for India forcing Dilshan to play a hook shot, which went only as far as deep square-leg fielder.
But Sangakkara continued in the same vein and smashed hat-trick of boundaries in Ishant's eighth over, which went for 17 and the home team were past 260 by 45th over.
Munaf Patel ended Sangakkara's innings, which was studded with seven boundaries and a six, while Ishant and Nehra saw off Chamara Kapugedera (12) and Mathews (1).
Sri Lanka's lower-order propped up the total adding 82 in the last 10 overs, including an unbeaten 26 off 21 from Chamara Silva.