Virat Kohli and Shikhar Dhawan stitched 97 runs for the second wicket.
Shikhar Dhawan missed out on his sixth ODI hundred as he was bowled by Ajantha Mendis for 94 runs.
Virat Kohli too missed his half-century and lost his wicket to Ajantha Mendis in the similar fashion.
Ajantha Mendis was the wrecker-in-chief for Sri Lanka with four scalps in his 10-over spell.
Opener Kusal Perera gave Sri Lanka a solid start and stitched 80-runs with Lahiru Thirimanne (38) for the opening wicket.
Ravichandran Ashwin got the first breakthrough for India as he dismissed Perera (64) and then Thirimanne (38) to put India back in the game.