India lost early wickets in the first two sessions of the first Test against Sri Lanka, and were at 199 for the loss of four wickets at tea.
In what is celebrated as Virat Kohli's 100th Test match, the former captain started well but was bowled on 45, extending the wait for his 71st career century.
Kohli also crossed the 8,000-run landmark in Tests. He becomes the 14th-fastest batsman to do so in Test cricket and the sixth Indian in the 8,000 club.
India's new Test captain Rohit Sharma opted to bat in Mohali, but the openers fell early. Sharma and Mayank Agarwal were dismissed on 29 and 33 before Hanuma Vihari and Virat Kohli's 90-run stand.
Vihari scored a patient 58 before falling to Vishwa Fernando.
At tea, Rishabh Pant and Shreyas Iyer were at the crease in their 10s.
Among Sri Lanka's bowlers, Lasith Embuldeniya shone brightest, bagging the wickets of Agarwal and Kohli.
India still hold control of the game, with the two big hitters at the crease and the likes of R. Jadeja and R. Ashwin still to bat.
Brief score: India 199/4 at tea (Vihari 58, Embuldeniya 2 for 62)