Suryakumar Yadav smashed 57 to help the hosts to 185-8, their highest total of the series, after being put into bat.
Ben Stokes and Jason Roy then came up with entertaining cameos but it was not enough to stop India from levelling the series for the second time.
Shardul Thakur (3-42) looked a bundle of nerves bowling the eventful final over with England needing 23 runs for an unassailable lead.
After Chris Jordan took a single off the first delivery, Archer hit the next two for a four and a six, which seemed to rattle Thakur who followed it with two wides.
Archer took a single off the next delivery, breaking his bat in the process, before Thakur regained his composure and dismissed Jordan before finishing with a dot ball.
The previous three matches were won by the team electing to field but India managed to buck that trend after losing the toss.
Rohit Sharma smashed the first ball of the match from Adil Rashid for a six but Archer (4-33) foxed him with clever change of pace to elicit a simple return catch.
Yadav pulled the first ball he faced, from Archer, for a six and raced to a 28-ball half-century.
India crossed the 50-mark in the seventh over before Stokes extended KL Rahul’s batting slump and Rashid unleashed a googly to deceive home captain Virat Kohli who was dismissed stumped for one.
Yadav smashed three sixes before Dawid Malan took a low catch at fine leg to send him back. Replays, however, suggested the ball might have touched the grass.
Rishabh Pant made a breezy 30 and Shreyas Iyer contributed 37 to push India past the 175-mark.
England lost Jos Buttler early in their chase, and Malan made 14 before Rahul Chahar bowled him round his legs.
Roy fell in the next over after a quickfire 40 but Stokes threatened to take the game away with a blistering 46.
The all-rounder smashed three sixes before Thakur turned the game on its head, dismissing Stokes and England captain Eoin Morgan in successive deliveries.
The teams play the deciding final Twenty20 International at the same venue on Saturday before moving to Pune for a three-match one-day series beginning on Tuesday.
(Reporting by Amlan Chakraborty in Siliguri, India; editing by Pritha Sarkar)