Spinners Ajantha Mendis and Sachithra Senanayake shared seven wickets as Sri Lanka kept India down to 264-9 in the Asia Cup one-day tournament in Fatullah on Friday.
Opener Shikhar Dhawan hit 94 as India, sent in to bat in the day-night match, moved to 175-2 in 35 overs before losing five wickets for 40 runs to slide to 215-7.
Big hitting by the lower order, including two sixes by last man Mohammed Shami off Mendis, lifted the reigning World Cup champions past the 250-run mark.
Mendis, who replaced seamer Suranga Lakmal for the match, justified his selection with four for 60, including the key scalps of Dhawan and stand-in captain Virat Kohli.
Off-spinner Senanayake finished with his best one-day figures of three for 41 as the Indians struggled against the turning ball on the slow wicket.
Both teams are seeking their second successive win in the five-nation tournament. Sri Lanka beat defending champions Pakistan by 12 runs and India routed hosts Bangladesh by six wickets.
Kohli put on 97 for the second wicket with Dhawan after Rohit Sharma had been trapped leg-before by Senanayake for 13.
Kohli, leading India in the absence of the injured Mahendra Singh Dhoni, followed his century against Bangladesh in the opening game with a fluent 48 before he was bowled by Mendis.
India lost Ajinkya Rahane with the first delivery of the 36th over when he top-edged a drive off Senanayake to point after making 22.
Mendis struck twice in his seventh over, the 40th of the innings, as he bowled Dhawan and had new batsman Dinesh Karthik caught at mid-off to reduce India to 200-5.
It soon became 215-7 as Ambati Rayudu holed out in the deep for 18 and all-rounder Stuart Binny, selected ahead of wayward fast bowled Varun Aaron, was leg-before to Senanayake for no score.
Ravindra Jadeja returned unbeaten on 22, Ravichandran Ashwin made 18 and Shami scored 14 not out to boost the total. – AFP