Dinesh Chandimal topscored with 81 as Sri Lanka struggled to 236 for nine off 50 overs in their tri one-day series international against India on Tuesday.
Chandimal, 22, hit six fours and a six off 91 balls before he was run out and Sri Lanka, who won the toss, set India just over 4.7 runs an over to win.
Sri Lanka, without a win in two outings, never got going on a batting pitch as they seek a victory to stay in contention for the best-of-three match finals series next month.
Kumar Sangakkara scored just 31 off 56 balls with two fours before he was caught off a leading edge at mid-on from spinner Ravi Ashwin in the 20th over.
Skipper Mahela Jayawardene hit 43 off 49 balls and put on 94 for the fourth wicket with Chandimal before he was leg before wicket to Ranganath Vinay Kumar in the 37th over.
Chandimal was out in the next over when batting partner Angelo Mathews went for a quick single to short cover only for Rohit Sharma to whip the ball back to wicketkeeper M.S. Dhoni to break the stumps.
Sachithra Senanayake cracked 22 off 14 balls to remain unbeaten with Mathews (17) and Thisara Perera (5) out cheaply.
Vinay Kumar finished the best of India's bowlers with three for 46 off 10 overs, while Ashwin claimed two wickets.
India, with two wins from three matches, recalled star batsman Sachin Tendulkar but rested Virender Sehwag and paceman Zaheer Khan for the encounter with the Sri Lankans, who are winless in the tri-series also involving Australia.