Adil Rashid bagged three wickets on Day 4 to run through India's lower order. He accounted for the wickets of Virat Kohli, Ravindra Jadeja and Umesh Yadav.
Ravichandran Ashwin batted superbly in testing conditions to score a crucial 70.
India were bowled out for 488, conceding a 49-run lead
Ravichandran Ashwin and Wriddhiman Saha revived India's innings with a crucial half century stand
Ajinkya Rahane was dismissed early in the day after his defence was breached by Zafar Ansari's delivery that bounced steep.
Virat Kohli followed Ajinkya Rahane back to the crease soon after as his leg disturbed the bails and he was given out hit wicket. He became the first Indian captain after Lala Amarnath to be dismissed in this fashion.
Haseeb Hameed, playing his debut Test, scored an attacking half century. In the process, he became the third youngest Englishman to score a Test fifty.
Alastair Cook had a bit of trouble, but managed to remain unbeaten on 46 at Tea. He put on an unbeaten 114-run stand with Haseeb Hameed for the opening wicket. The lead has now been extended to 163 runs.