R Ashwin secured a five-wicket haul, dismantling England for 145.
Kuldeep Yadav's crucial four wickets prevented England from setting a higher target.
England's effort led to a chase target of 192 for India on a challenging pitch.
Ashwin surpassed Anil Kumble's record, becoming India's highest wicket-taker with 350 wickets.
Dhruv Jurel's impressive 90 runs played a pivotal role in India's fightback.
The deteriorating pitch conditions and England's lead pose a strategic challenge for India.