England bowled India out for 292 on day three of the fifth Specsavers Test at The Oval for a first-innings lead of 40 runs.
Ravindra Jadeja posted 86 not out and debutant Hanuma Vihari 56 for the tourists, who had started the day 158 runs adrift on 174 for six.
The opening session saw England frustrated in their attempts to make a breakthrough, with Jadeja and Vihari flourishing in a 77-run stand, until Moeen Ali struck, having the latter caught behind pushing forward.
India went in at lunch on 240 for seven, and shortly after Moeen had his second wicket, an action replay as Ishant Sharma also got a thin edge behind to one that drifted on with the arm. Mohammed Shami then got greedy against Adil Rashid, holing out at long-on to leave India 260 for nine.
They would have been all out without addition if Keaton Jennings had held a sharp catch at silly-point when Rashid turned his googly to take number 11 Jasprit Bumrah’s inside-edge and pad first ball – instead, the drop cost England 32 runs.
Bumrah was then run out chancing a single as Jadeja tried to farm the strike from the last ball of the over.
Alastair Cook has now got his final England innings under way before retirement, while James Anderson remains two wickets short of equalling Australian Glenn McGrath’s all-time world record of 563 for any seam bowler in Tests.
Earlier on Sunday it was announced that Anderson had been fined 15 per cent of his match fee after breaching level one of the International Cricket Council code of conduct on day two.
The 36-year-old had made his disappointment clear with umpire Kumar Dharmasena when he gave Virat Kohli not out lbw on 16 in the 29th over of India’s innings, snatching his cap and jumper from him and then speaking to him in an aggressive manner.