India leads the three-match series 1-0 after winning in Nagpur test by an innings and 239 runs.
Dhananjaya de Silva scored 72 in an unbeaten 84-run partnership with Dinesh Chandimal as Sri Lanka reached 119-4 at lunch on Wednesday, needing to survive two more sessions to draw the third test.
Still 291 runs behind, Sri Lanka’s hopes of a series-leveling win here on day five were remote.
Starting from overnight at 31-3, Sri Lanka made good progress with 74 runs in the morning session despite losing first-inning century maker Angelo Mathews (1), who was caught at slip off Ravindra Jadeja (3-25).
Chandimal, unbeaten on 27, is hoping to repeat his first-innings effort where he batted for more than a day, amid air pollution at hazardous levels, to post his 10th test century and ensure Sri Lanka avoided the follow-on.
India has been in control of the third test since posting 536-7 declared in the first innings, when Virat Kohli scored 243 for his sixth double century as captain.
India leads the three-match series 1-0 after winning in Nagpur test by an innings and 239 runs. The first test in Kolkata was drawn.