Captain Joe Root was England's unlikely star with the ball, claiming his first five-wicket haul as India were bowled out for 145 in the third Test.
After managing just 112 in their first innings at the Narendra Modi Stadium in Ahmedabad, the tourists needed quick wickets on day two to stay in the contest, India resuming their reply on 99-3.
The hosts moved their score on to 114 without further loss in the first session, only to then endure a stunning collapse of their own, their last seven wickets falling for 41 runs.
Root grabbed the majority of them to finish with stunning figures of 5-8. His previous best in first-class cricket was 4-5, while he had also claimed a four-wicket haul in his Test career, against South Africa in Port Elizabeth in January 2020.
His off-spin found help on a turning surface as he conceded the fewest runs in a Test five-wicket haul for an England player since Arthur Gilligan's 6-7, South Africa the opponents back in 1924.
It was also the first five-for by an England captain since Bob Willis' 5-35 against New Zealand in 1983.
Jack Leach backed up his skipper with 4-54 as India were restricted to a 33-run lead after both teams had batted once in the game, with the four-match series in the balance at 1-1.