Sri Lanka will have to reach a target of 265 in order to win the fourth Asia Cup match against India, who end their innings with the loss of nine wickets.
Sri Lanka won the toss and elected to field, leaving Rohit Sharma and Shikhar Dhawan to take to the crease for India.
It was a positive start for the pair, but Sri Lanka eventually found the breakthrough in the 10th over by dismissing Sharma for 13.
Dhawan and Virat Kohli were able to steady proceedings until Kohli (48) was sent packing just shy of a half-century, while Ajinkya Rahane later followed for 22.
Dhawan continued to frustrate the Sri Lankan bowlers, but just six runs short of a century, Ajantha Mendis was able to strike and end his opponent's time with the bat on 94 runs.
Wickets began to tumble following Dhawan's departure, with Ravindra Jadeja being the only batsman to surpass 20 runs out of the next seven players down the order.
Mendis took four wickets, while Sachithra Senanayake nabbed three and Lasith Malinga and Chaturanga de Silva managed to grab one each.