England opening batsmen Alastair Cook and Keaton Jennings had a big task at hand, needing to give England another good start on Day 4.
Ishant Sharma had Keaton Jennings edging behind in the first over of the day, spiraling England deeper into their troubles around opening batsmen.
Ishant struck again in his next over, getting Alastair Cook for the 11th time in Tests to leave England exposed.
Joe Root soon edged one off Jasprit Bumrah to second slip, leaving England three down very early on the first day.
Root's catch at second slip was KL Rahul's fifth of the match.
Ollie Pope then edged Mohammed Shami behind, and Virat Kohli completed the dismissal with a diving catch at third slip. England were reeling 62/4 in the first session itself.
Ben Stokes and Jos Buttler played with caution in the second session, the latter even bringing out the sweep shot to nullify Ravi Ashwin, who looked a bit limited because of some tightness in his hips.
The duo got England through the second session without losing a wicket, making India wait.
Jos Buttler brought up his maiden Test hundred, grinding India's attack in good batting conditions.
Jasprit Bumrah finally struck for India with the second new ball in the evening session, ending a mammoth 169-run stand between Stokes and Buttler.
Jonny Bairstow was out off the next delivery, bowled by an absolute beauty to leave Bumrah on a hat-trick.
There wasn't a hat-trick but Bumrah returned to register a five-wicket haul. He was earlier denied that because of bowling a no-ball that had Adil Rashid edging to slip.
James Anderson and Adil Rashid - England's last pair at the crease - survived the extra half hour India opted for and dragged the game into Day 5.