India held their nerve to level the Twenty20 series against England at 2-2 thanks to a thrilling eight-run triumph at the Narendra Modi Stadium.
The home side posted 185-8 after being put in by Eoin Morgan, despite Jofra Archer claiming 4-33, while fellow pace bowler Mark Wood impressed again, taking 1-25 from his four overs.
However, for the first time in the five-match series, the team batting second were unable to reach their target, meaning the same venue in Ahmedabad will stage a winner-takes-all showdown between the teams on Saturday.
Jason Roy made 40 at the top of the England order and Ben Stokes smashed 46 at a strike-rate of 200 runs per 100 deliveries, only to be dismissed within sight of a first half-century in the format at international level.
Shardul Thakur dismissed Stokes and Morgan in successive deliveries at the start of the 17th over, yet it was all-rounder Hardik Pandya who was the pick of India's attack, finishing with figures of 2-16.
While Thakur was put under pressure when the equation of 23 runs from the final over was reduced to 10 off three balls, Archer's late boundary hitting was not enough for the tourists to snatch victory.
Suryakumar Yadav had earlier capitalised on the opportunity presented by an injury to Ishan Kishan, top-scoring with 57 from 31 deliveries for India.
His innings included six fours and three sixes and proved crucial for the hosts, with openers Rohit Sharma (12 from 12 balls) and KL Rahul (14 from 17) once again struggling to gain momentum during the critical powerplay.
Virat Kohli had scored 150 runs without being dismissed in the previous two games, but India's captain was out for just one this time, beaten by a googly from Adil Rashid to be stumped by a distance. He finished the game off the field due to injury too, leaving Rohit in charge for the conclusion.
Rishabh Pant was also subdued in making 30, though Shreyas Iyer slammed 37 from just 18 deliveries to help compile comfortably the biggest total by either team in the series so far.