India had pinned their hopes on Rishabh Pant, who started cautious but went driving at a wide-full ball from Stuart Broad and lost his stumps to an inside edge.
Ravichandran Ashwin lost his stumps in Broad's next over, defeated by a hooping inswinger.
James Anderson wrapped up the Indian Innings by picking Mohammed Shami and Jasprit Bumrah in the same over.
Indian seamers stared on a disappointing note in conditions ripe for swing and seam bowling. Keaton Jennings and Alastair Cook were able to put on 54 runs for the first wicket.
Alastair Cook was dropped off Ishant Sharma by Cheteshwar Pujara at first slip but Ishant had his number again on the next ball, which Cook edged to Rishabh Pant behind the wicket.
Keaton Jennings was out on the next ball, edging Bumrah behind to the wicketkeeper.
Hardik Pandya struck first ball of his spell - dismissing England captain Joe Root.
Hardik bowled a fantastic spell, running through England's middle and lower order.
Hardik picked up his maiden Test fifer
Hardik finished with figures of 5 for 28 in just 6 overs, helping India gain a massive first-innings lead.
After an excellent 60-run first-wicket stand with Shikhar Dhawan, KL Rahul departed for a 33-ball 36.
Shikhar Dhawan too fell - against the run of play for a 44 - but Cheteshwar Pujara and Virat Kohli took India to stumps at 124 for 2, leading England by 292 runs.