India closed in after Sri Lanka followed on
Sooriyabandara fell for 92. Sri Lanka ended day four on 229 for 6, leading by only 16.
India enforced the follow-on in the second Test at Colombo's SSC and finished day four firmly on top.
Sri Lanka were bowled out for 290 in the first innings, 213 behind India's 503 for 9 declared. Sonal Dinusha made 103. Debutant off-spinner Saransh Jain took late wickets. India sent Sri Lanka straight back in.
Pasindu Sooriyabandara, in only his second Test, then made 92 and shared a 115-run stand with Kamindu Mendis (55). Sri Lanka reached 209 for 3 and briefly dreamed. Manav Suthar broke the stand, stumpings and lbws followed, and Niroshan Dickwella went lbw to Jain. Rain ended the day early with Sri Lanka 229 for 6 in the second innings, ahead by just 16.
India's bowlers had already sent down a mountain of overs across two innings. Shubman Gill's field and short-ball plans kept snapping back when Sri Lanka looked set.
Day five decides the series after India's Galle win.
A 16-run lead with four wickets left is thin air for the hosts. Dinusha is still there on 7. Weather remains the other opponent.
Final day in Colombo on Thursday. India need four wickets. Sri Lanka need a miracle and clear skies.