Jofra Archer came close to carrying England over the line with a stunning all-round performance but India held on to set up a Twenty20 decider with an eight-run victory.
Archer had already taken career-best figures of four for 33 as India posted 185 for eight and then found himself making an unexpected late charge with the bat.
Having never batted before in a T20 international he was in the thick of battle with an improbable ask of 22 from the last five deliveries of the match. He smashed Shardul Thakur for four, then six and watched as the seamer’s next two attempts were called wide.
The teams now face a winner-takes-all clash on Saturday, with the scores locked at 2-2. On each of the three previous occasions the team batting second had won the game at a canter and, after winning the toss, England may well reflect on this as a missed opportunity.
Ben Stokes did more than anyone to turn the tables, racing to 46 in 23 balls, but when Thakur dismissed him and Eoin Morgan with consecutive balls it proved a hammer blow.
Rohit Sharma started the day’s play in style, planting Adil Rashid’s first ball all the way over long-off. That was as good as it got for him, though, adding just six more in 11 balls before chipping a meek return catch back to Archer.
That brought Suryakumar Yadav to the crease and, after not batting on debut, he announced himself in style by whipping his first ball high into the stands beyond fine-leg. Archer, returning to his mark, could only laugh at the audacity.
He led the scoring all the way until his departure for a fine 57. His range of shots was eye-catching, whether launching Rashid for a flashy six over extra-cover, putting away the full toss or smartly using the pace of Mark Wood or Chris Jordan against them.
After dropping to his knee to flick Sam Curran for six more over fine-leg he was out attempting an action replay off the next delivery, failing to clear Dawid Malan and waiting several minutes for a low catch to be given by the TV umpire.
By the time he departed England had already chipped away another couple of wickets, Stokes claiming the horribly out-of-form KL Rahul and Virat Kohli stumped for one off Rashid. In the last two matches Kohli had scored 150 runs from 95 balls without being dismissed, but he was dead in the water after charging a big googly.
From 128 for four after 15 overs, the action came thick and fast with another 57 runs and four wickets. Rishabh Pant (30) and Shreyas Iyer (37) peppered the ropes as they pumped up the total with an array of bold blows but Archer removed both as he wrapped up a personal best haul of four for 33.
England were slow out of the gates, making only two from the first two overs and losing Jos Buttler in the third, swinging hard but top-edging Bhuvneshwar Kumar.
India dragged it back again, Malan bowled round his legs for an unconvincing 14 and Roy (40) pulling Hardik Pandya straight to a boundary rider. With half the overs gone, England needed exactly 11.5 an over, with Stokes and Jonny Bairstow new to the crease.
The pair took on the fight, putting on 65 in just 36 balls as they attacked the spinners. Stokes was responsible for 41 of those, including three muscular sixes, before Rahul Chahar got the better of Bairstow.
England needed 46 from the last four overs, realistic with Stokes in the mood and Morgan in support. The next two balls removed both men from the equation, each picking out a fielder while attempting to smash Thakur’s off-cutter.
Archer brought some late drama as he made 18 off just eight deliveries, piling the pressure back on Thakur, who threatened to crack. Instead, Archer’s bat cracked and England’s chances went with it.