India set Sri Lanka a daunting 410-run victory target and dented the tourists' top order to maintain their iron grip on the third and final Test in Delhi on Tuesday, 5 December.
Having secured a handy 163-run first-innings lead, India declared on 246 for five about 45 minutes after tea, and Sri Lanka were reeling on 31 for three when bad light stopped play with the tourists still needing 379 runs to level the series.
Dhananjaya de Silva was batting on 13 with first-innings centurion Angelo Mathews yet to open his account at the other end.
Mohammad Shami dismissed opener Sadeera Samarawickrama for five with a vicious bouncer before Ravindra Jadeja dealt two late blows, dismissing Dimuth Karunaratne caught behind for 13 and bowling nightwatchman Suranga Lakmal for a duck.
Earlier, Dinesh Chandimal made a career-best 164 to help Sri Lanka post 373 all out, their highest total in the series.
Lakmal denied India a strong start to their second innings, dismissing Murali Vijay for nine.
The paceman was subsequently seen throwing up, following which he temporarily left the field as the Delhi smog continued to affect the match.
Ajinkya Rahane has been the lone batsman in India's top six without a fifty in the series and was sent in ahead of Cheteshwar Pujara in a bid to help him rediscover his form ahead of the tour of South Africa.
The move, however, did not work.
The right-hander survived two reviews and scored only 10 runs before trying to hit his way out of trouble and holing out in the deep off Dilruwan Perera.
Shikhar Dhawan initially looked subdued but the left-hander soon accelerated, stepping out to hit Lakshan Sandakan over his head for a huge six.
The left-arm wrist-spinner had the last laugh, though, as he lured Dhawan into charging out to play a similar shot only to be stumped for 67.
Pujara (49) fell short of his fifty but Virat Kohli (50) and Rohit Sharma (50 not out) batted with characteristic ease against the jaded Sri Lankans to keep India in complete control of the match.
(This article has been published in an arrangement with Reuters.)
(Breathe In, Breathe Out: Are you finding it tough to breathe polluted air? Join hands with FIT in partnership with #MyRightToBreathe to find a solution to pollution. Send in your suggestions to fit@thequint.com or WhatsApp @ +919999008335)
(At The Quint, we question everything. Play an active role in shaping our journalism by becoming a member today.)