Batting first, Sri Lanka scored 153 for six and then bowled out India for 148 in exactly 20 overs.
Needing 12 off the last over bowled by Lasith Malinga, Indians could get only six as the Lankan slinger finished with figures of 4/30 from four overs. Skipper Mahendra Singh Dhoni did not bat in this unofficial match.
India's inability to finish a close match again came to the fore as the likes of Suresh Raina (41), Yuvraj Singh (33) and Virat Kohli (17) all failed to convert their starts.
Ravichandran Ashwin's all-round show (3/22 and 19 runs) was the lone bright spot in the opening encounter.
India were off to a disastrous start as Shikhar Dhawan (2) played a lazy shot off Kulasekara to be holed out at mid-off while Rohit Sharma (4) was caught at the deep mid-wicket boundary off a Malinga delivery.
Raina looked more comfortable on a low-bounce track as he played those customary lofted shots in the region between extra cover and mid-off. He also lofted Kulasekara for a six over mid-wicket.
He was looking good for a big knock as he reached 41 with the help of five fours and a six. But the 31st ball he faced saw him fail to reach to the pitch of the delivery. Ajantha Mendis was the bowler and Raina couldn't clear Rangana Herath at long off boundary.
Ajinkya Rahane offered a simple return catch to Sachitra Senanayeke as India were in deep trouble at 56 for four.
Yuvraj was having a bit of trouble initially reading Senanayeke's deliveries but he broke the shackles by coming down the track to hit left-arm spinner Rangana Herath over long-on for a six. He also picked up Mendis' carom ball early to hit another six over long on.
Kohli started off on a promising note smacking 17 off only eight balls as the duo added 32 runs in quick time before Malinga struck.
Coming back for his second spell, Malinga got Kohli to play away from his body and he dragged it back onto the stumps. Yuvraj was gone trying to steer Kulasekara and Sangakkara took a fine diving catch behind the stumps.
The left-hander hit two sixes and two fours in his 28-ball stay at the crease. Once Yuvraj was gone, it was difficult for the others to finish the game.