Indian batters Rohit Sharma and Shubman Gill started the day on the front foot, scoring 103 and 110 respectively.
England captain Ben Stokes picked a wicket off his first ball in eight months, dismissing Sharma and ending his 171-run partnership with Gill.
Pacer James Anderson dismissed Gill in the following over, moving to 699 career Test wickets.
Debutant Devdutt Padikkal got off to a flying start and scored 65 runs alongside Sarfaraz Khan, who scored 56.
England spinner Shoaib Bashir broke the 97-run partnership between Padikkal and Sarfaraz, ending the day on figures of 4/170.
India ended the day at 473/8, leading by 255 runs, with Kuldeep Yadav (27*) and Jasprit Bumrah (19*) at the crease.