Chasing a target of 154, India came close to kissing distance of a win, thanks to a cameo of Ravichandran Ashwin's 12-ball 19 but were bowled out for 148 runs in 20 overs. Curiously skipper Mahendra Singh Dhoni didn't come out to bat due to an injury. (Agencies)
Lasith Malinga was again the destroyer-in-chief with his four for 30 and did the trick for Sri Lanka in the last over when India needed 12 runs. Ashwin flicked the second ball for a four to raise hopes but Stuart Binny (14) was run out in the next ball to dash all hopes. Malinga clinically wiped out the tail in the last two balls to wrap up a good win for Sri Lanka.
India also made a poor start losing the openers Shikhar Dhawan (2) and Rohit Sharma (4) inside five overs for just 19 runs on board. Suresh Raina (41 off 31 balls) and comeback man Yuvraj Singh (33 off 28 balls) brought back the innings on track with their 35-run stand.
Just when it looked that India had recovered some ground, Raina, who struck five fours and a six, departed as he mistimed a shot and Rangana Herath took a good catch at long-off off spinner Ajantha Mendis.
Ajnikya Rahane didn't trouble the scorers and soon from 54 for two, India were soon struggling at 56 for four.
Virat Kohli (17) and Ravindra Jadeja (12) got good starts but failed to convert them into match-winning scores.
Earlier, Sri Lanka overcame an unimpressive start to make a competitive 153 for six in 20 overs.
Mahela Jayawardene was the top scorer with 30 while skipper Dinesh Chandimal made 21. Nuwan Kulasekara made a quick-fire unbeaten 14-ball 21 while Thisara Perera remained not out on 18 from 11 balls.
Ashwin was the pick of the Indian bowlers with three for 22 from his four overs while Varun Aaron also picked up one for 18 from his three overs.
Put in, Sri Lanka lost three quick wickets as they reached 77 for three in 11 overs. Kumar Sangakkara (4) also fell in the 12th over that left Sri Lanka at a precarious 77/4.
But a captain's knock from Chandimal rescued the Sri Lankans. It was a patient but a responsible knock of 25 balls that had one four and a six, and it help both Kulasekara and Perera to go after the Indian bowlers in the death overs.
The Sri Lankans spanked 50 runs off the last five overs including 17 runs off the last over from Bhuvneshwar Kumar. Kulasekara hit the Indian pacer for a four and a six in consecutive deliveries while Perera rounded off the innings with a four, a clever scoop past the short-fine leg.
Chasing a target of 154, India came close to kissing distance of a win, thanks to a cameo of Ravichandran Ashwin's 12-ball 19 but were bowled out for 148 runs in 20 overs. Curiously skipper Mahendra Singh Dhoni didn't come out to bat due to an injury.