Kumar Sangakkara fell for 40 in his penultimate Test as Sri Lanka stumbled towards a heavy defeat in the first Test against India in Galle on Friday.
The hosts, who trailed India by 192 runs in the first innings, struggled to 5-108 in their second knock by lunch on the third day.
Virat Kohli’s India will resume after the break well-placed to take the lead in the three-match series with Sri Lanka still 84 runs behind with only five wickets in hand.
Dinesh Chandimal was unbeaten on 10 and Lahiru Thirimanne was on four, but both batsmen were lucky to survive three appeals for catches close to the wicket in the last three overs before lunch.
Replays showed all three catches were clean, but the Decision Review System is not being used in the series – due to India’s objection to it.
Sangakkara, who will retire after the second Test, and captain Angelo Mathews (39) made a brave attempt to fight back from 3-5 by adding 87 runs for the fourth wicket.
But both batsmen fell in successive overs in the space of three runs before lunch to hand the advantage back to India.
Sri Lanka, who resumed at 2-5, lost nightwatchman Dhammika Prasad off the first ball of the day to give India a flying start.
Prasad attempted to fend off a short ball from Varun Aaron and gloved a catch to a diving Ajinkya Rahane at gully.
Mathews and Sangakkara took charge with a series of attacking shots, including a straight six and a reverse-sweep boundary by the Sri Lanka captain off Ravichandran Ashwin.
Sangakkara, who looked in good form during his 70-ball innings in which he hit five boundaries, was dismissed against the run of play 20 minutes before lunch.
The left-hander edged Ashwin to the slip region where Rahane dived to his left to pick up a stunning one-handed catch.
Sangakkara received a standing ovation from some 1,500 home fans as we walked back after playing his final innings at the Galle International Stadium.
Mathews fell in the next over to leg-spinner Amit Mishra, gloving a catch to Lokesh Rahul at silly-point.