India 191 and 43 for 0 (Rahul 22*, Rohit 20*) trail England 290 (Pope 81, Woakes 50, Yadav 3-76) by 56 runs
Ollie Pope and Chris Woakes made their first Test fifties in a year to give England a 99-run first-innings lead at The Oval before India's openers, Rohit Sharma and KL Rahul, almost halved the deficit by seeing out the second day.
England were teetering at 53 for 3 overnight, and lost two wickets for nine runs at the start of the day, but Pope's fluency in partnerships with Jonny Bairstow and Moeen Ali dragged them into the lead, and then Woakes - batting at No. 9 after England had used a nightwatchman - built on it by attacking the old ball.
Rohit and Rahul were tasked with facing the last 16 overs of the day in the late-afternoon haze and despite the occasional play-and-miss, and an outside edge from Rohit that flew past Rory Burns at second slip, they saw India through to stumps, only 56 runs behind their hosts.
Umesh Yadav had produced one of the balls of the series to bowl Joe Root late on the first evening and picked up where he left off with a probing spell on the second morning. He removed Craig Overton, the nightwatchman, with his fourth delivery of the day thanks to an ill-judged cut shot which flew straight to Virat Kohli at first slip, then had Dawid Malan edging to Rohit at second to leave England reeling at 62 for 5.
Bairstow and Pope quickly launched a counterattack as India's change bowlers, Mohammed Siraj and Shardul Thakur, struggled for consistency. Thakur leaked four consecutive boundaries (one via the pad) to Pope, and Siraj conceded three in a row with both batters scoring on either side of the wicket, adding 77 before lunch.
Bairstow's technical changes heading into this series - he is batting significantly further across his stumps than he did two years ago - may have resulted in him avoiding being bowled thus far but he has developed a vulnerability against the nip-backer, and was trapped lbw for the third time in the series: Siraj angled one in from a length which struck him on the pad, and the DRS confirmed the ball would have gone on to hit the top of leg stump.
Bairstow remonstrated with a steward after his dismissal, seemingly distracted by some movement in the stands, but Pope continued to score freely. He worked Siraj away for four to bring up a 92-ball fifty and made only a low proportion of runs through boundaries, instead rotating the strike and clipping and punching twos and threes.
Pope was widely hailed as England's most promising young batter when he made a brilliant maiden hundred in Port Elizabeth in early 2020 but has struggled in the 18 months since; he started this series out of the side following an injury but his poor form meant that he was not rushed back in when fit.
This was his first Test on his home ground, where he averages a shade over 100 in first-class cricket for Surrey, and his change back to a middle-stump guard appeared to pay dividends after spending most of the summer batting on off.
Moeen struggled for the same fluency but his innings was scattered with boundaries, the pick of them a punch through the covers off Umesh. He was given an unusual life early on, digging out a Jasprit Bumrah yorker which replays confirmed had struck his boot first and would have crashed into leg stump - India did not even appeal.
He gave his wicket away cheaply, aiming a hoick down the ground off Ravindra Jadeja which ballooned out to give Rohit a simple catch at cover. Pope fell for 81 shortly after tea, dragging a wide outswinger from Thakur onto his own stumps, and Jadeja bowled the slog-sweeping Ollie Robinson for 5 to leave England nine down.
But Woakes frustrated India, adding 35 with Anderson for the last wicket. He played with uncharacteristic attacking intent, flashing drives away through cover and pulling through the leg side, before running himself out while trying to marshal the strike.
England struggled to create chances with the new ball as Rohit and Rahul stood firm, though one opportunity went begging: Anderson found Rohit's outside edge but Burns failed to pick the ball up at second slip and watched it fly past him.
Matt Roller is an assistant editor at ESPNcricinfo. @mroller98