Ben Stokes claimed the final wicket to finish with 5-73 and Yorkshire leg-spinner Adil Rashid had figures of 4-118 after England had initially proved powerless to stop Ravi Ashwin and Ravindra Jadeja.
Alastair Cook’s tourists had hit back on the second afternoon to reduce India to 156-5 in reply to 283 all out.
But Ashwin (72) and Jadeja (70no) responded with a stand of 97 to help the hosts to 354-7 and a lead of 71 as England managed just one wicket on the third morning.
England’s prospects of battling back to square the series here, or even avoid a 2-0 deficit with two to play, were therefore beginning to recede significantly.
India resumed still marginally in arrears on 271-6 but found easy pickings against Chris Woakes, surprisingly bowling in tandem initially with Moeen Ali rather than James Anderson - an odd deployment of a ball only five overs old.
It took the reintroduction of Stokes to break the seventh-wicket stand, the all-rounder striking in his first over as he had the previous day - when Ashwin drove a wide delivery on the up and was caught at point.
He had done plenty of damage by then, though, with 11 boundaries in a near three-hour innings which put India back on top in a fluctuating contest.
Jadeja duly completed his 50, from 104 balls, and moved on to a career-best as he and Jayant Yadav extended the advantage in another telling half-century partnership.