Colombo: The ignominy of the follow-on revived Sri Lanka's stomach for a fight on Saturday and the beleaguered hosts reached 209 for two in their second knock after a meek first-innings surrender in the second Test against India.
Kusal Mendis smashed a belligerent 110 and Dimuth Karunaratne complimented with an unbeaten 92 following Sri Lanka's first innings capitulation for 183 on day three of the contest.
After losing eight wickets in the extended morning session, Sri Lanka returned after lunch a transformed side, as Mendis and Karunaratne raised 191 runs following Upul Tharanga's departure for two.
On a fast-crumbling track, Mendis deftly negotiated the Indian spinners, hitting 17 boundaries in his sparkling knock before falling to Hardik Pandya.
Karunaratne's unbeaten knock included 12 hits to the fence. Nightwatchman Malinda Pushpakumara was batting on two with Sri Lanka still trailing by 230 runs.
Earlier, Ravichandran Ashwin (5-69) claimed his 26th five-wicket haul as he and spin partner Ravindra Jadeja (2-84) tormented Sri Lanka on a deteriorating pitch that allowed for prodigious spin, with the ball often kicking up puffs of dust.
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 compulsive sweeper Dinesh Chandimal sent a Jadeja delivery straight to Pandya at square leg.
Kohli dropped Angelo Mathews at gully but ran backwards to take a brilliant catch to send back Mendis for 24.
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 Cheteshwar 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, Niroshan Dickwella threw his bat at everything, hitting seven boundaries and a six in his 51 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.
India 1st innings: 622 for 9 decl
(C. Pujara 133, A. Rahane 132, R. Jadeja 70no, W. Saha 67, L. Rahul 57, R. Ashwin 54; R. Herath 4-154)
Sri Lanka 1st innings
Dimuth Karunaratne c Rahane b R. Ashwin 25
Upul Tharanga c Rahul b R. Ashwin 0
Kusal Mendis c Kohli b U. Yadav 24
Dinesh Chandimal c H. Pandya b Jadeja 10
Angelo Mathews c Pujara b R. Ashwin 26
Niroshan Dickwella b Shami 51
Dhananjaya de Silva b Jadeja 0
Dilruwan Perera b R. Ashwin 25
Rangana Herath b Shami 2
Malinda Pushpakumara (not out) 15
Nuwan Pradeep b R. Ashwin 0
Extras (b-4, lb-1) 5
Total (all out, 49.4 overs) 183
Fall of wickets: 1-0, 2-33, 3-60, 4-64, 5-117, 6-122, 7-150, 8-152, 9-171.
Bowling: M. Shami 6-1-13-2; R. Ashwin 16.4-3-69-5; R. Jadeja 22-6-84-2; U. Yadav 5-1-12-1.
Sri Lanka 2nd innings
Dimuth Karunaratne (not out) 92
Upul Tharanga b U. Yadav 2
Kusal Mendis c Saha b H. Pandya 110
Malinda Pushpakumara (not out) 2
Extras (nb-2, w-1) 3
Total (2 wkts, 60 overs) 209
Fall of wickets: 1-7, 2-198.
To bat: A. Mathews, N. Dickwella, D. de Silva, D. Perera, R. Herath, D. Chandimal, N. Pradeep
Bowling: U. Yadav 9-2-29-1; R. Ashwin 24-6-79-0; M. Shami 6-2-13-0; R. Jadeja 16-2-76-0; H. Pandya 5-0-12-1 (nb-2, w-1).
Umpires: Bruce Oxenford, Rod Tucker
TV umpire: Richard Illingworth
Match referee: Richie Richardson