Joe Root sensationally took five wickets as England bowled India out for 145 on a dramatic second day - a thin lead of 33 runs.
Jack Leach grabbed the first two before skipper and par-time spinner Root put himself on to bowl and claimed five for just eight runs to leave the crucial third Test and the series on a knife-edge.
But England, bowled out for a paltry 112 on the first day, must now navigate a minefield of a pitch after Root and Leach left the Indian batsman shell-shocked.
England skipper Joe Root celebrates one of his five wickets on a dramatic second day
Washington Sundar is bowled by Joe Root, the second of the England captain's scalps
Jack Leach (third right) is mobbed after making a key breakthrough for England on day two
The spinner celebrates taking the wicket of Rohit Sharma as India were left stunned
The hosts passed England's paltry first innings total of 112 but then saw Ajinkya Rahane dismissed by Jack Leach, who picked up his third wicket having removed Cheteshwar Pujara and Virat Kohli on day one.
Rahane, who was on seven, opted to play back to a full Leach delivery that skidded on and struck him high on the pad in line with off-stump.
And Leach promptly struck again to dismiss the free-scoring Rohit for 66 and reduce India to 115 for five.
Another ball that went straight on rather than turning struck Rohit on the hip and umpire Nitin Menon raised the finger. Rohit reviewed but the ball tracker showed umpire's call on impact.
Root |(second left) took the wickets of Rishabh Pant, Washington Sundar and Axar Patel
Wicketkeeper Ben Foakes appeals vocally as England started the second day strongly
Joe Root, England's only other spin option for this Test, then got rid of Rishabh Pant for just one with his first ball bowled.
The skipper drew Pant into the drive but the ball dipped and turned, taking the edge for Ben Foakes to snaffle behind the stumps.
Root was clearly inspired and he dismissed Washington Sundar with a brilliant off-break that spun past a tame prod and hit off-stump to leave the batsman and the crowd in disbelief.
And it got even better for Root when Axar Patel picked out Dom Sibley at short extra cover. Root had taken three wickets without conceding a run.
He'd only shipped five by the time he picked up a fourth wicket, that of Ravichandran Ashwin, who skied a shot and was caught in the deep by Zak Crawley for 17.
Root completed his five-for and wrapped up the innings with the wicket of Jasprit Bumrah.
India had hoped to bat England out of the game on the second day but were left well and truly rattled with their lead wafer-thin and the game suddenly in the balance.
Jack Leach (right) celebrates taking the key wicket of Virat Kohli late on the opening day
Rohit Sharma hit another half-century as India moved to within 13 of England's total of 112
It helped redress the balance after a calamitous first day for England.
Kohli and Rohit Sharma put on a third-wicket stand of 64 after Jofra Archer removed Shubman Gill for 11 and Leach got Cheteshwar Pujara for a duck in a quick one-two strike.
And when Kohli, who'd earlier been dropped by Ollie Pope off James Anderson's bowling, was bowled by Leach, England at least had something to clutch at.
But Rohit stylishly passed his half-century and looks well set entering the second day at the newly-titled Narendra Modi Stadium, which is only at a fraction of its 132,000-spectator capacity for this day-night Test.
It was a dreadful first day for Joe Root's side after he won the toss and elected to bat first on what appeared to be batsman-friendly conditions.
They crumbled to a measly 112, with the left-arm spinner Axar Patel taking six for 38 on a pitch supposedly more conducive to seam bowlers.
India were three down by the close with Jofra Archer (second right) dismissing Shubman Gill
England's Jack Leach celebrates taking the wicket of Cheteshwar Pujara with Ben Foakes
Only the returning Zak Crawley offered any form of resistance with a classy 53 as the wicket tumbled around him.
Dom Sibley and Jonny Bairstow both failed to score and at one point four wickets fell for nine runs. The last eight tumbled for just 38.
Patel manipulated the conditions perfectly to take the prize wickets of Bairstow, Crawley and Ben Stokes, while even the reliable Root made just 17 before being trapped LBW by Ravichandran Ashwin.
England's frustration was compounded when in the field as decisions went against them.
They were bewildered when second slip Stokes was adjudged to have grounded a low catch off Gill, who hadn't scored at that point, but further replays showed the ball did touch the turf.
Ben Stokes grassed a catch, but England were surprised with how quick the decisions was
TV umpire also went in India's favour when reviewing a close stumping call of Rohit Sharma
But England's grievance was that TV umpire Chettithody Shamshuddin rushed his decision and the same issue recurred when Ben Foakes stumped Rohit Sharma off the bowling of Leach.
Rohit's back foot did momentarily leave the ground as he lost his balance but Shamshuddin apparently needed next to no time to rule that Rohit was not out.
Root could be seen asking on-field umpires Anil Chaudhary and Nitin Menon for 'consistency' and he later aired grievances to match referee Javagal Srinath along with head coach Chris Silverwood.
Earlier, Leach had rightly been given out after a low catch in the gully by Pujara but only after Shamshuddin looked at several replays from various different angles.
England will need to quickly put that out of their minds and concentrate on restricting India to a score that keeps their hopes alive in the Test and the series.