Nagpur - Ravichandra Ashwin and Ishant Sharma formed a fearsome partnership for India to skittle out Sri Lanka for 205 on the opening day of the second Test.
But the hosts were 11 for one at the close after opener Lokesh Rahul fell for seven, bowled by Sri Lankan paceman Lahiru Gamage.
Murali Vijay, on two, and Cheteshwar Pujara, on two, were batting at the close of play in Nagpur with India trailing by 194 runs in the first innings.
The day belonged to the bowlers with Ashwin taking four wickets and fellow spinner Ravindra Jadeja and Sharma picking three each. The tourists lost six wickets in the final session.
Skipper Dinesh Chandimal top-scored with 57 while opener Dimuth Karunaratne made 51 on a green pitch that helped India's fast bowlers.
Sharma, who got Karunaratne after lunch, made the most of the favourable conditions to claim his three wickets for just 37 runs.
The spinners then took centre stage. Ashwin trapped Chandimal lbw to make the visitors slip further.
Chandimal, who hit a six in his 122-ball knock, was given not out by the on-field umpire but skipper Virat Kohli called for a review which went in India's favour.
Chandimal and Karunaratne put on a crucial 62-run stand for the fourth wicket before the Indian bowlers struck back.
Wicketkeeper Niroshan Dickwella also tried to resist before falling to Jadeja's left-arm spin.
The two teams are fighting to get ahead in the three-Test series after the opening game ended in a draw at Kolkata's Eden Gardens.