Jasprit Bumrah claimed six wickets as India dismissed England for 253 in their first innings after scoring 396 on the second day of the second Test in Vizag on Saturday.
Bumrah (6/45) notched up his 10th five-wicket haul, also crossing the 150-wicket milestone in his 34th Test match, to break the back of the England innings.
Kuldeep Yadav (3/71) and Axar Patel (1/24) were the other wicket-takers.
Opener Zak Crawley made a 78-ball 76, while skipper Ben Stokes scored 47. England still trail India by 143 runs.
Earlier, Yashasvi Jaiswal struck his maiden double century as India were all out for 396 in their first innings.
James Anderson (3/47), Rehan Ahmed (3/65) and Shoaib Bashir (3/138) picked up three wickets each for England.
Brief Scores:
India: 396 all out in 112 overs (Yashasvi Jaiswal 209; James Anderson 3/47, Rehan Ahmed 3/65, Shoaib Bashir 3/138).
England: 253 all out in 55.5 overs (Zak Crawley 76; Jasprit Bumrah 6/45).