Virat Kohli's highest Test score and a commanding India lead were overshadowed by heavy smog affecting the series decider against Sri Lanka in Dehli on Sunday.
Resuming on 156, with his team 371-4, the imperious Kohli posted his sixth double-hundred in the longest format and then surpassed his previous highest score of 235, set against England in Mumbai 12 months ago.
Rohit Sharma offered his skipper expert support with a half-century of 65 before bottom-edging Lakshan Sandakan to Niroshan Dickwella off the last delivery before lunch.
Sandakan (4-167) eventually removed the hosts' captain lbw for 243 after a successful review.
But while the left-arm spinner prospered, Sri Lanka quicks Lahiru Gamage and Suranga Lakmal both left the field mid-way through their overs as the tourists - who had returned from the lunch break wearing face masks - complained to the umpires about the air quality on day two at Feroz Shah Kotla.
Kohli responded by declaring on 536-7 and India's bowlers overcame the unfavourable atmospheric conditions to strike early.
Dimuth Karunaratne was out a first-ball duck to Mohammed Shami, whose delivery, short of a length, angled in but then moved away again, drawing a tentative prod from the opener that was taken by wicketkeeper Wriddhiman Saha.
Ishant Sharma pounced in the sixth over, a length ball beating the inside edge and trapping Dhananjaya de Silva lbw for one.
First Dilruwan Perera and then Angelo Mathews survived thick outside edges when they were dropped by Shikhar Dhawan and Kohli respectively in the slips in the space of three overs.
There was no escape for Dilruwan, though, when India successfully reviewed to have him out lbw to Ravindra Jadeja for 42.
Mathews (57 not out) made the most of his reprieve, notching a half century alongside Dinesh Chandimal (25no) to help Sri Lanka reach 131-3 at the close of play, trailing by 405 runs.
Despite that late rally, India remain firmly in charge as they seek to wrap up the series following an opening draw and crushing innings victory last time out.
Sri Lanka close Day Two on 131/3 in reply to India's score of 536/7d. Angelo Matthews is still there fighting on 57*, but @imVkohli again stole the show with his 243. #INDvSLpic.twitter.com/UZQ0a0AXL8-- ICC (@ICC) December 3, 2017