Dhananjaya de Silva struck a defiant century to raise Sri Lanka's hopes of saving the pollution-hit third Test against India on the fifth and final day in New Delhi on Wednesday.
Sri Lanka were 226 for five at tea after being set an imposing 410-run target at the Feroz Shah Kotla ground that has been enveloped in a thick blanket of smog for almost the entire duration of the Test.
Dhananjaya complained of muscle cramps and retired hurt on 119, having faced 219 balls and hit 15 fours and a six.
Roshen Silva (38) and Niroshan Dickwella (11) were at the crease with Sri Lanka needing to bat out one more session to draw the last Test of the series which India lead 1-0.
The Test has been marred by severe pollution in the Indian capital, with fast bowlers from both teams vomiting on the ground Tuesday.
The US embassy website on Wednesday showed concentrations of the smallest and most harmful airborne pollutants hit 234, better than a day earlier but still nearly nine times the World Health Organization's safe limit.
Ravichandran Ashwin got the only wicket of the session when he dismissed skipper Dinesh Chandimal for 36 to bring an end to his 112-run partnership with Dhananjaya.
Ashwin's spin partner Ravindra Jadeja has claimed three wickets so far including the key scalp of Angelo Mathews early Wednesday morning.
Dhananjaya showed remarkable application and registered his third Test hundred to frustrate the Indian attack before trudging back to the pavilion with the team physio in tow.
Doctors have criticised the decision to proceed with the Test amid smog so heavy players were physically ill, and Sri Lanka's fielders wore pollution masks in unprecedented scenes.
The island's sports minister Dayasiri Jayasekara expressed concern but said the responsibility for player health and safety fell to India's powerful cricket board.
"This is an air pollution problem. Our cricket board must take up issue with the Indian board given the good relations the two boards enjoy," Jayasekera told reporters in Colombo Wednesday.
"If any of the players fall ill, it will be the responsibility of the Indian board as the hosts.
"Similarly if there are health issues when Indians tour, Sri Lanka must take responsibility as hosts," he added.