India's opening pair of KL Rahul and Murali Vijay made a combined 13 runs only, but with Ravichandran Ashwin picking up his 22nd five-wicket haul - the hosts are still in firm control.
India bundled out England for 255 and Virat Kohli and Ajinkya Rahane stitched up a 58-run partnership and a lead worth 298 runs with two days left in the second Test.
Kohli scored his 12th Test fifty after Stuart Broad (2/6) and Jimmy Anderson (1/16) toppled India's top-order, including the in-form Cheteshwar Pujara.
Ben Stokes and Jonny Bairstow earlier hit half-centuries and combined in a sixth-wicket stand of 110 to launch England's fightback.
The pair kept the hosts at bay all morning on the third day before being separated 10 minutes before lunch when Umesh Yadav finally dismissed Bairstow for 53, the paceman's delivery hitting the batsman's pad before crashing onto the stumps.
After reducing England to 80-5 in the final session on Friday, India's spinners were expected to roll over the touring side on the third morning but Stokes and Bairstow, resuming on 103-5, showed great determination to frustrate the hosts.
The pair defended resolutely but also put any loose balls away to keep the scoreboard ticking over. India had their opportunities but failed to make them count.
Stokes, who survived a close call on Friday when a delivery from debutant off-spinner Jayant Yadav kissed but did not dislodge his bail, had another slice of luck when wicketkeeper Wriddhiman Saha missed a stumping chance off Ashwin with the batsman on 21.
Batting on 18, Bairstow also saw an edge off paceman Yadav fly between the first and second slip.
Stokes fell for 70 to Ashwin, who had dismissed Joe Root and Ben Duckett on Thursday, and the batsman was unable to overturn the umpire's leg before decision on review.
World's top-ranked test bowler Ashwin, who has won the man of the series awards in India's last four test series, wrapped up England's innings by dismissing Stuart Broad and James Anderson leg before in consecutive deliveries.
With inputs from Reuters