The ignominy of the follow-on revived Sri Lanka’s stomach for a fight on Saturday and the beleaguered hosts reached 118 for one at tea in their second knock after a meek first-innings surrender in the second test against India.
Dimuth Karunaratne was batting on 55 and Kusal Mendis on 61 at the break with Sri Lanka, still 321 runs behind, facing an uphill task to save the match on a fast-crumbling track.
Upul Tharanga, who made a duck in the first innings, managed two in the second before falling to Umesh Yadav.
Earlier, Ravichandran Ashwin (5-69) claimed his 26th five-wicket haul as he and spin partner Ravindra Jadeja (2-84) helped rout Sri Lanka for 183 on a day three pitch that allowed for prodigious spin, with the ball often kicking up puffs of dust.
Niroshan Dickwella topscored with a desperate 51 as Sri Lanka lost their remaining eight wickets in an extended morning session to find themselves staring at a 439-run first-innings deficit and series loss with a match to spare.
India captain Virat Kohli, who led his team to a crushing 304-run win in the first of the three tests, was rewarded for his superb field placement when avid sweeper Dinesh Chandimal sent a Raviindra Jadeja delivery straight to Hardik Pandya at square leg. Chandimal made 10.
Jadeja was denied a second success in that over when Kohli dropped Angelo Mathews with the former Sri Lanka skipper having yet to score.
Kohli soon made amends, running backwards to take a brilliant catch to send back Kusal Mendis, who had made 24 before Yadav induced the leading edge.
Mathews decided to hit his way out of the trouble and clobbered a couple of sixes off Jadeja but the ploy did not work for long.
With a breezy 26 on the board, he flicked at an Ashwin delivery and Pujara took a spectacular left-handed catch at leg gully.
Jadeja dismissed Dhananjaya de Silva for a golden duck and Mohammed Shami came up with a two-wicket over to leave the Sri Lankan innings in tatters.
Realising the futility of trying to hang around, Dickwella threw his bat at everything, hitting seven boundaries and a six before attempting an ugly scoop against Shami that deflected the ball onto his stumps.
Nuwan Pradeep came out to bat despite a hamstring injury which will rule him out of the remainder of the series and he faced six balls before falling for a duck to end the innings. (Courtesy Reuters)