Sri Lanka were 86 for 6 in reply to India's first innings total of 252 at stumps on the opening day of the second Test against Sri Lanka here on Saturday.
Angelo Mathews top-scored for Sri Lanka with a 85-ball 43 while all other visiting batters struggled to get going.
Niroshan Dickwella and Lasith Embuldeniya were batting on 13 and zero respectively at close of play.
Jasprit Bumrah and Mohammed Shami took three and two wickets respectively while Axar Patel got one as Sri Lanka struggled throughout their first innings.
Sri Lanka trail by 166 runs.
Earlier, Shreyas Iyer struck 92 off 98 deliveries to help India post 252 all out in 59.1 overs after electing to bat.'
Wicketkeeper-batter Rishabh Pant was the next highest contributor for India with a 26-ball 39 while Hanuma Vihari made 31.
Virat Kohli was out for 23 just before the tea break while captain Rohit Sharma scored 15.
For Sri Lanka, Lasith Embuldeniya and Praveen Jayawickrama took three wickets apiece while Dhananjaya de Silva got two.
India made one change, bringing in a fit-again Axar Patel in place of Jayant Yadav in the playing XI.
Sri Lanka, on the other hand, were forced to make two changes with Kusal Mendis and Praveen Jayawickrama replacing Pathum Nissanka and Lahiru Kumara, who were ruled out due to injuries.
India won the first Test by an innings and 222 runs.
India: 251 all out in 59.1 overs (Shreyas Iyer 91, Rishabh Pant 39, Hanuma Vihari 31; Lasith Embuldeniya 3/94, Praveen Jayawickrama 3/81, Dhananjaya de Silva 2/32) vs Sri Lanka 86 for 6 in 30 overs (Angelo Mathews 43; Jasprit Bumrah 3/15, Mohammed Shami 2/18).