Spinner Ravichandran Ashwin played a pivotal role by taking five wickets, helping India bowl out England for 145 on the third day in the fourth Test in Ranchi on Sunday.
This set the stage for a chase of 192 runs for India to secure their third consecutive victory and clinch the five-test series.
At the end of day three, India stood at 40-0, requiring another 152 runs for the win. Skipper Rohit Sharma remained unbeaten at 24, accompanied by Yashasvi Jaiswal at 16.
England's Zak Crawley top-scored with 60, but the rest of the batting lineup struggled against India's spin, particularly Ashwin (5-51) and Kuldeep Yadav (4-22).
England lost wickets consistently in the final session, concluding their innings and leaving the task to their bowlers to level the series and force a fifth-test decider in Dharamsala.
Earlier in the day, India's bowlers performed admirably after wicketkeeper Dhruv Jurel's impressive 90 in the morning session helped reduce the hosts' deficit. Ashwin, taking the new ball on a challenging pitch, made crucial breakthroughs, dismissing Ben Duckett and Ollie Pope in consecutive balls.
Despite a partnership between Joe Root and Crawley, England faced setbacks as Yadav bowled out Crawley after he reached fifty. Ben Stokes fell just before tea, and the collapse continued after the break, with Jonny Bairstow and Ben Foakes among the wickets.
In their first innings, England's spinner Shoaib Bashir claimed his first Test five-wicket haul, helping bowl India out for 307. James Anderson, the veteran fast bowler, broke a crucial partnership by dismissing Yadav, reaching 698 Test wickets. Jurel's valuable contribution and Bashir's impressive performance set the stage for an intriguing final day of the Test match.