Visitors trail hosts by sevens runs with six wickets in hand heading into the penultimate day of the rain-affected match.
Sri Lanka hold edge over India after Day 3 of Kolkata Test
Lahiru Thirimanne and Angelo Mathews hit half-centuries to give Sri Lanka the advantage against India on Day 3 of the rain-hit opening Test on Saturday.
The visitors were 165-4 in their first innings when bad light ended a dramatic day at Kolkata's Eden Gardens. They trail India by seven runs with captain Dinesh Chandimal on 13 and Niroshan Dickwella on 14 at the crease.
India pacemen Bhuvneshwar Kumar and Umesh Yadav claimed two wickets each on a day when almost three full sessions were played. Only 31.5 overs were bowled on the first two days because of rain and bad light.
- The Ashes: Shane Warne predicts close series after hitting out at 'confused' Australia
- India v Sri Lanka: Pujara stands firm as India struggle against Sri Lanka on rain-hit Day 2
- T10 Cricket League: Wasim Akram backs Mohammad Amir to star for Maratha Arabians
Sri Lanka depended on a 99-run third wicket stand between Thirimanne, who made 51, and Mathews, who scored 52, after losing their openers early.
The left-right batting combination of Thirimanne and Mathews mixed caution and aggression against a persistent India pace attack.
Thirimanne, who was dropped on 27, registered his fifth Test half century but soon edged a moving delivery by Yadav, and captain Virat Kohli made no mistake at second slip.
Yadav struck again in his next over to send Mathews, making a 50 in an impressive comeback from injury, back to the pavilion after giving away a simple catch to Lokesh Rahul at short cover.
Kumar struck early to remove openers Dimuth Karunaratne, for eight, and Sadeera Samarawickrama, for 23, as the visitors slipped to 34-2 before bouncing back.
In the morning session, a late-order push by Indian batsmen saw the hosts post 172, a score that looked unlikely at 128-8.
After overnight batsman Cheteshwar Pujara fell early on 52, vital contributions from Wriddhiman Saha (29), Ravindra Jadeja (22) and 24 from No 10 Mohammed Shami frustrated the Sri Lankan bowling.
Shami limped off during the Sri Lankan innings five balls into an over which he could not finish.
Pace spearhead Suranga Lakmal finished with figures of 4-26 after taking three wickets on day one to justify the visitors' decision to field first.
Sri Lanka, despite being underdogs against the top-ranked hosts, are eyeing their first Test win on Indian soil during the three-match series.