Four wickets in the final hour of play saw England check India's progress in Nagpur.
India were on course to bat through the third day of the fourth and final Test without losing a wicket, with Virat Kohli and skipper MS Dhoni steering their side towards England's first innings score of 330.
But the game changed when Kohli was out shortly after completing his hundred, lbw to Graeme Swann for 103.
Debutant Ravindra Jadeja soon followed, before Dohni fell in agonising fashion, run out to a direct hit from Alastair Cook for 99.
Swann then cleaned up Piyush Chawla in the final over and India, who must win to share the series 2-2, had slipped from 4-269 to 8-297.