Indian bowlers continued their impressive showing despite Kushal Perera's defiant fifty as Sri Lanka were reduced to 175 for eight at tea on Day 3 of the third and final cricket Test in Colombo on 30 August.
Responding to India's first innings score of 312, Lanka have avoided the follow-on but still trail by 137 runs.
Starting the session at 47 for five, the hosts kept losing wickets only to be helped by Perera's (55) maiden Test fifty and Rangana Herath's unbeaten 47.
Perera and Herath stitched a 79-run eight-wicket stand to give Lanka some time to breathe in between the wicket falls.
Pace spearhead Ishant Sharma has been the pick of the bowlers with impressive figures of 4-39. Stuart Binny has picked up two wickets while Umesh Yadav and Amit Mishra have bagged one apiece.
Ishant struck twice in the post lunch session, picking up Lahiru Thirimanne for naught and the dangerous-looking Perera to break Lanka's back.
Mishra though got lucky to trap Tharindu Kaushal (16) LBW as the replay's clearly showed the batsman got an a thick inside edge before the ball hit the pads.
Dhammika Prasad (6 not out) got hit with an Ishant bouncer and the pacer walked off with an injured left hand.
Prasad's departure though brought Perera to the crease, and he played a good counter-attacking innings that allowed Lanka to assume a position of safety.
Spin was introduced in the 24th over in the form of Ashwin (0-33) but Perera didn't stop his attacking ploy. He put on a quick-fire partnership with Herath coming off only 15.1 overs as Lanka's 100-mark came up in the 29th over. The left-handed debutant got his fifty off only 49 balls in that same over.
There were some heated words exchanged between Ishant and the two batsmen, and matters came to a head in the 34th over, after Perera mis-hit one and was caught at mid-off by Virat Kohli.
In this interim, India had conceded 109 runs for the loss of one wicket, even as Kaushal was scalped by Mishra (1-19) close to the break. Injured Prasad then came out to bat once again, and helped his side reach the break without any further losses.
Earlier, Sri Lanka were in trouble very quickly as they tried to negotiate nearly an hour's play before lunch. Ishant and Yadav (1-59) made good use of the still-fresh pitch and put the new Kookaburra ball to good effect.
Ishant could have had a wicket in the first over itself, when he induced an edge off Upul Tharanga on 0*, but Lokesh Rahul dove in front of first slip and dropped the catch.
The two pacers continued to bowl well and beat the batsmen on umpteen occasions, but that one chance wasn't coming. It finally did in the 5th over, when Tharanga (4) edged once again and this time Rahul didn't make any mistake.
There was a slight doubt of a no ball but the decision went in the bowler's favour.
In the next over, Yadav bowled Kaushal Silva (3), the opener dragging a short ball onto his stumps. Dinesh Chandimal (23) came out to bat at number four then and played some attacking shots. He wasn't fazed by the Indian bowling and hit five quick boundaries off the 27 balls he faced. But just when it looked like he was set to play a counter-attacking innings like in Galle, he was adjudged LBW to Binny (2-24) in the 12th over.
The ball hit him high on the back-thigh and it was a poor decision from umpire Rod Tucker as the ball looked to be carrying over stumps. The misery continued for Lanka thereafter as skipper Angelo Mathews (1) was caught behind off Ishant in the 17th over. And Binny took his second wicket in the next over, Dimuth Karunaratne (11) edging to second slip as Rahul took a comfortable catch.