Kusal Mendis and Dimuth Karunaratne finally offered some Sri Lanka resistance against India but the tourists remain on course to wrap up a series victory in Colombo.
Sri Lanka fell to a humbling 304-run defeat in the opening match of the series in Galle and appear set for another heavy loss in the Second Test after being bundled out for 183 in their first innings - 439 runs behind India's 622-9 declared.
Following-on, Upul Tharanga lasted just nine balls but Mendis and Karunaratne came together to put on a stand of 191 for the second wicket to stable the ship.
Mendis departed 10 minutes before the close but Karunaratne remained on 92 not out as Sri Lanka moved on to 209-2 at the end of day three, a deficit of 230.
Starting the day on 50-2, Sri Lanka's hopes of building a substantial first-innings total to match India's were quickly dashed as Dinesh Chandimal (10) and Mendis (24) both succumbed in the first six overs.
Angelo Mathews' quick-fire 26 offered some hope but when he became Ravichandran Ashwin's third victim it prompted a middle- and lower-order collapse from the hosts.
Only Nuwan Dickwella (51) and Dilruwan Perera (25) showed any composure as the India attack - led by Ashwin, who finished with figures of 5-69 - ripped through a fragile batting line-up.
India captain Virat Kohli enforced the follow-on and when Umesh Yadav bowled Tharanga for two it appeared an innings defeat was on the cards.
But Mendis and Karunaratne displayed plenty of skill and determination to at least extend the match into a fourth day.
Mendis was particularly impressive, taking the game to India and picking the gaps well on his way to a 120-ball hundred, a well-executed sweep getting him to three figures.
His fine knock ended with stumps in sight as Hardik Pandya (1-12) found the inside edge but it still needed some excellent work from wicketkeeper Wriddhiman Saha to send Mendis packing.
Saha leapt forward to take a clean catch and give India the breakthrough, and they will hope for more when they return on day four with nightwatchman Malinda Pushpakumara (2no) alongside the resolute Karunaratne.