Captain Tillekaratne Dilshan led from the front, smashing his maiden half century to guide Sri Lanka to a competitive 171 for four in the one-off Twenty20 International.
Electing to bat at the Premadasa Stadium here, Sri Lanka made a rollicking start with openers Sanath Jayasuriya and Tillakeratne Dilshan scoring more than 10 runs per over in the first five overs.
But once Jayasuriya was out for 33 in the sixth over off Irfan Pathan, Sri Lankan wickets fell at regular intervals and some intelligent bowling by the Indians saw the home team slowing down the pace to just cross the 170-run mark.
Captain Dilshan (61) survived a close call in the very first ball of the innings off Zaheer Khan and five deliveries later he was dropped by Irfan when on zero.
Ishant Sharma was shown scant respect by Jayasuriya who hit the young fast bowler for one four and two huge sixes to take 18 runs in the fourth over.
The young Delhi fast bowler conceded 26 runs from his first two overs and was replaced by Irfan.
Sri Lanka were on the top after reaching their fifty in the fifth over with Jayasuriya being the main contributor before the Indians applied the brakes.