Sri Lanka ended day three of the first Test against India in a strong position at 165/4 trailing the hosts by 7 runs.
Earlier Sri Lanka had worked their way through a stubborn India tail after Cheteshwar Pujara (52) had his resistance ended by Lahiru Gamage.
The last five India wickets cost Sri Lanka 122 runs after the first five fell for just fifty runs.
Wriddhiman Saha (29), Ravindra Jadeja (22) and Mohammed Shami (24) did their bit with vital cameos for India.
Suranga Lakmal ended as the pick of the bowlers with his 4/26 while Dilruwan Perera, Dasun Shanaka and Gamage all bagged two scalps each.
Bhuvneshwar Kumar removed both Sri Lanka’s openers to get the hosts back in the game but a 99 run partnership between Lahiru Thirimanne (51) and Angelo Mathews (52) seized the initiative for the visitors.
Thirimanne and Mathews fell in successive Umesh Yadav overs later in the day but Sri Lanka find themselves just seven runs behind India with Dinesh Chandimal (13*) and Niroshan Dickwella (14*) at the wicket.
With almost two full days worth of cricket lost on the first three days of play the draw is starting to look like the favoured result.