By
Angelo Mathews, on 57, and skipper Dinesh Chandimal, on 25, put together an unbeaten 56-run stand after the visitors lost their top three to an inspired Indian bowling attack.
Virat Kohli earlier hit his sixth double century as Indian captain. But the day was overshadowed by the smog issue as Sri Lanka's fielders took the extraordinary step of wearing face masks at Delhi's Feroz Shah Kotla ground.