Alex Hales hammered an unbeaten 116 as England chased down Sri Lanka's total of 189-4 with six wickets and four balls to spare in Chittagong.
Opener Hales hit five sixes and 11 fours to become the first Englishman to hit an international century in the shortest format of the game and, more importantly for his team, keep alive their hopes in the ICC World Twenty20.
Eoin Morgan played his part in a stunning run chase, making 57 off 38 balls after coming to the crease with the score at 0-2 at the end of the first over.
The left-hander helped add 152 for the third wicket before leaving it to Hales, who finished the match with a maximum over deep square leg, and Ravi Bopara (11 not out) to see England to their first win in the tournament.
Sri Lanka had for a few hours set a new record T20I total at the venue, Mahela Jayawardene top-scoring with 89 after he was given not out by the third umpire when seemingly caught off the very first delivery he faced.
The former skipper, who was also dropped on 19 and 80, as well as surviving a botched run-out attempt when he had 43 to his name, went on to combine with opener Tillakaratne Dilshan (55) to put on a 143-run stand.
England will feel it was a partnership that should never have gone beyond one ball. Having had Kusal Perera strangled down the leg side, seamer Jade Dernbach felt he had picked up two in two when Michael Lumb threw himself forward at cover to seemingly scoop up a catch before it hit the turf.
Jayawardene, though, stood his ground and third umpire Steve Davis felt he couldn't give it out after reviewing the pictures from several angles. While England were unimpressed with the decision, they had no one else to blame but themselves for going on to waste a plethora of opportunities in the field.
Dernbach couldn't cling on at mid-on off the bowling of Tim Bresnan, who then put down two opportunities himself in the deep off Jayawardene's bat. Not even the aid of gloves helped, wicketkeeper Jos Buttler spilling a throw when the same batsman was struggling to make his ground.
Chris Jordan took the fielders out of the equation to finally get a breakthrough, bowling Jayawardene after he had hit 11 fours and three sixes. He then showed his colleagues how it should be done when Dilshan lofted a catch in his direction at deep mid-wicket in the next over, bowled by Dernbach (2-42).
The Sussex paceman then removed Kumar Sangakkara for a first-ball duck to finish with decent figures of 2-28, but 16 off Bresnan's last over carried Sri Lanka to a seriously imposing score.
When Nuwan Kulasekara (4-32) began with a double-wicket maiden, Lumb bowled coming down the track before Moeen Ali nicked the next delivery straight to Sachithra Senanayake at second slip, England looked in danger of not only losing by a distance but seeing their semi-final chances come to an early end.
Less than a couple of hours later, however, and they had pulled off one of the most astonishing run chases in Twenty20 cricket, Hales leading the way as he finally reached three figures - he had twice before been dismissed in the nineties.
The Nottinghamshire right-hander found an able ally in Morgan as the pair put on the fourth highest partnership of all time in T20s.
Yet to make sure the record would be in a winning cause a big over was required somewhere along the line; it duly arrived in the 15th, Ajantha Mendis being hammered for 25, Hales ending it with a three sixes and a four.
Even when Morgan, caught at long-on, and Buttler perished in the same Kulasekara over, there were no signs of panic. Bopara guided two boundaries off Lasith Malinga down to third man to make the task easier, then Hales rushed them home with three sixes, the second of which took him to his ton.