India 337 (Sundar 85*) and 37 for 1 need 381 runs to beat England 578 and 178 (Root 40, Ashwin 6-61)
England need to take nine wickets in 90 overs on the final day of the first Test in Chennai, after declining to enforce the follow-on and setting India 420 to win.
After wrapping things up on the fourth morning, with Jack Leach and James Anderson taking two wickets apiece to leave Washington Sundar unbeaten on 85, England opted to bat again. R Ashwin took six wickets as they made 178 all out in a spasmodic innings, which saw occasional bursts of attacking intent interspersed with defensive lulls as they looked to minimise the chance of India repeating their recent performance at the Gabba by chasing down an improbable fourth-innings target.
Leach struck the first blow for England in the final session, bowling Rohit Sharma with a perfect left-arm spinner's dismissal which gripped and turned past the outside edge to kiss the off stump, leaving India needing 381 to win on the final day.
Ishant Sharma, who had earlier reached the milestone of 300 Test wickets when he removed Dan Lawrence, insisted that he was "sure" that India's "fearless" batting line-up could chase the runs down, but England will be optimistic about their chances on a turning pitch which offered variable bounce throughout the day, particularly when the ball was hard.
India had resumed 321 runs in arrears, but Ashwin and Sundar continued to frustrate England's bowlers, scoring freely against the old ball and then against the new one as the seamers returned. Joe Root quickly pulled Anderson out of the attack with minimal seam movement on offer, giving Leach a chance to bowl with the hard ball.
It paid off almost instantly, the extra bounce helping Leach draw a mistake as Ashwin lunged forward to smother the spin but edged towards the vacant silly-point region, where Jos Buttler dived forward to take the catch. Shahbaz Nadeem went soon after without scoring, Ben Stokes taking a sharp low slip catch as Leach again found steepling bounce, and gained the rewards for his resilience following Rishabh Pant's assault on him on the third afternoon.
Sundar continued to impress after surpassing his highest Test score, with an effortless straight six off Anderson and a pair of clean hits to the rope off Root, but Anderson had Ishant caught at short leg, fending off a short ball, before Jasprit Bumrah edged low to Stokes at slip off the same bowler to leave Sundar stranded 15 runs short of a hundred.
With a 241-run cushion, England decided against making India follow on, opting instead to bat again and set an imposing fourth-innings target. Stretches of their batting effort seemed almost surreal, as they alternated between looking to force the pace and digging in to avoid any possibility of losing a game they had dominated for large swathes.
Rory Burns fell to the first ball of the innings, Ashwin finding turn and bounce as the ball took the shoulder of the bat, with Ajinkya Rahane taking a good catch. Dom Sibley inside-edged to leg slip, playing with hard hands after lunch, but Root raced to 21 off 11 balls as he looked to dominate Ashwin with sweeps.
Ishant trapped Lawrence lbw with a length ball that seemed to shoot through, with the pitch increasingly offering variable bounce for seamers as well as spinners. The wicket was his 300th in Tests, making him the sixth Indian to reach the landmark and only the third Indian seamer after Zaheer Khan and Kapil Dev.
Stokes was caught behind off Ashwin, looking to crash him through the covers, while Root was trapped in front by Bumrah for a busy 40 as England hurried along at four runs per over before tea. After the interval, Ollie Pope started by slapping Bumrah through the covers, before playing three reverse-sweeps in a row off Nadeem: the first brought two runs, the second went for four, and the third nestled in the hands of cover-point.
From that point, England decided to shut up shop and take time out of the game. Bess was happy to pad Nadeem away as he bowled into the rough outside leg stump, before hitting him for a couple of boundaries to take the lead past 400 as India looked to hold the game up.
Buttler was stumped charging down the pitch to Nadeem, before Ashwin finished the job by trapping Bess lbw - with the decision upheld on review - bowling Archer, and holding a return catch from Anderson. He finished with 6 for 61, his best return in an innings since taking 7 for 145 against South Africa in Visakhapatnam in October 2019.
India's openers had started positively in the second innings, with Shubman Gill finding his timing to hit Leach for three early boundaries after Root had opted to throw his left-arm spinner the new ball. Rohit pulled Archer for a towering six over square leg, but when Leach struck to remove him with seven overs remaining, Cheteshwar Pujara opted to dig in until stumps. Given Pujara's ability to soak up pressure against the seamers and score freely against spin, his innings could well determine the result of this match.
Matt Roller is an assistant editor at ESPNcricinfo. He tweets at @mroller98