Jos Buttler once again proved to be a thorn in India's flesh as his gutsy knock of 69 enabled the hosts to put up a fighting 260 for 8 in their second innings on the third day of an evenly poised fourth Test.
Overall, England now have a competitive lead of 233 runs and it could be a tricky chase for the Indian line-up especially with the track being two paced where handling Stuart Broad could prove to be a difficult proposition.
Buttler received good support from the stodgy Ben Stokes (30, 110 balls) adding 56 runs for the sixth wicket and 55 runs for the seventh wicket with the ever-improving Sam Curan (37 batting, 67 balls).
How quickly India get Curran out on Sunday will decide the quantum of runs that India would need to chase. The match is expected to end tomorrow if weather permits.
This was Buttler's ninth Test fifty and he showed a lot of application even though he was troubled by the initial spell from Ishant Sharma and Mohammed Shami.
He survived a good spell of reverse swing from Shami and was ready to cut down on the shots square of the wicket.
He only played the deliveries on the drivable length as his 122-ball innings had seven boundaries.
In fact, England were in trouble at 122 for 5 when Joe Root was run out for 48. The lead was not even 100 runs but it was Buttler, who took the attack back to the opposition camp as Ravichandran Ashwin (35-7-78-1) despite being economical was not half as effective as Moeen Ali.
The Tamil Nadu off-spinner couldn't use the footmarks created by the trio of Mohammed Shami (3/53), Ishant Sharma (2/36) and Jasprit Bumrah (1/51 in 19 overs).
His only success was Stokes, who has been showing his defensive traits in this series with some dogged resistance. He was finally out caught in the slips to Ajinkya Rahane after a stand that lasted for 22 overs.
Buttler however continued to defy the Indian bowlers in company of Curran as they also consumed nearly 17 overs.
Finally, it was the second new ball that did the trick as Ishant angled one into Buttler to trap him leg before.
Curran however batted in a positive fashion hitting Bumrah for a couple of boundaries.
Earlier, India maintained upper hand during the first two sessions on Saturday.
A well-set Root was back in the pavilion for 48 after Mohammed Shami's direct throw found him short of crease before tea.
Having removed Keaton Jennings (36) at the stroke of lunch, Mohammed Shami (2/40) was on a hat-trick when he removed Jonny Bairstow (0) off the very first ball post break.
However Stokes and Root negotiated the Indian bowling well for the next 14 overs before the skipper didn't ground his bat properly while sprinting towards the striker's end.
Shami bowled a sharp and precise spell, giving nothing away to the batsmen.
It could be seen in how England only added 60 runs in the session, never getting ahead of the scoring rate, particularly as they were forced to rebuild the innings again.
The pivotal moment came in the 46th over, when Shami ran out Root with a direct throw from mid-on.
Thereafter, Buttler and Stokes batted with calmness in a bid to bring England back in the game. By tea time, they had added 30 runs for the sixth wicket, with the scoring coming only in spurts.
Ravichandran Ashwin (0-46) bowled a long spell in this second session and albeit wicket-less, he kept it tight, conceding at only 2.2 per over.
This was after England were placed at 92-3 at lunch with Shami trapping Keaton Jennings (36) last ball before the break, with DRS overruling the batsman's referral. It ended the 59-run partnership between Jennings and Root.
Starting from overnight 6-0, England made a slow start with openers Jennings and Alastair Cook (12) made a slow start, putting on 24 for the first wicket. They were more intent on staying at the wicket, even as Indian pacers didn't get as much purchase they did in the first innings.
Despite slow proceedings, Bumrah got the breakthrough in the 13th over as Cook edged to KL Rahul at second slip, who held a juggling catch on third attempt.
Surprisingly, Moeen Ali (9) was given a promotion and batted at number three, albeit managing only nine runs for the second-wicket partnership.
Ishant nicked him off in the 16th over, with Rahul holding another low catch at second slip. Replays suggested that he managed to get fingers under the ball, and Ali had to walk back.
It was his 11th catch in the series, the most for an Indian fielder in England, going past Rahul Dravid's 10 catches in the 2002 four-Test series here.
Root then came out to bat at number four, and along with Jennings, pulled his side out of trouble.
While the latter dug in deep and fought hard to preserve his wicket, the former was easier on the eyes and punished any loose balls. Root hit four fours during his 50-ball stay thus far.
The duo put on 50 from 84 balls for the third wicket as England started to recover from their slow start in the morning session. But Shami left them to do it all over again right at the break.