Colombo - India tightened its grip on the second Test against Sri Lanka despite a fighting century by Kusal Mendis during the hosts' follow-on in Colombo on Saturday.
Mendis put on 191 runs for the second wicket with opener Dimuth Karunaratne (92 not out) before falling to paceman Hardik Pandya for 110 just before stumps on day three.
The hosts were 209 for two at close, still trailing India by 230 runs in their second innings. Karunaratne and nightwatchman Malinda Pushpakumara on two were at the crease.
Earlier in the day, Sri Lanka nosedived from their overnight 50-2 to 183 all out, handing the visitors a chance to clinch the three-match series 2-0.
The islanders were in early trouble in the second innings when paceman Umesh Yadav got opener Upul Tharanga out for two after lunch on a seemingly deteriorating pitch.
The left-right batting combination of Karunaratne and Mendis then dug in their heels to thwart the Indian bowling attack, forcing skipper Virat Kohli to rotate his options.
The duo handled the Indian spinners with aplomb, using their feet to good effect as they combined the right dose of caution and aggression.
Mendis, who hit his third Test hundred, played an attacking game as he smashed 17 boundaries before letting go of his hard work with a catch to wicketkeeper Wriddhiman Saha.
The Colombo-born Karunaratne remained patient during his 200-ball knock so far as he played out the remaining few overs with debutant Pushpakumara in a tense finish to the day.
But it was the first session that hit the hosts hard as they lost eight of their remaining wickets and conceded a 439-run lead in response to India's formidable 622-9 declared.
Off-spinner Ravichandran Ashwin, who had removed the Sri Lankan openers at the end of day two, claimed five wickets to rattle the Sri Lankan middle and lower order.
The Dinesh Chandimal-led Sri Lanka need at least a draw to stay alive in the series.