England cruised to 132 for three in 16 overs after restricting Sri Lanka to 128 for six. This is the first time in six years that they have made it to the final of an ICC tournament since the 2004 Champions Trophy [ Images ] final.
Kevin Pietersen [ Images ] finished off things in style, hitting Lasith Malinga [ Images ] for a huge six and a boundary down the ground. He was unbeaten after a splendid knock of 42 from 26 balls, inclusive of three fours and two sixes.
England's openers -- Craig Kieswetter (39) and Michael Lumb (33) -- set up the victory by putting on 68 runs in 49 deliveries for the opening wicket.
Earlier, Angelo Mathews [ Images ] waged a lone battle in a composed knock of 58 from 45 balls before he was run-out in the final over of the innings.
England's pacers claimed early wickets before their spinners spun a web around the Sri Lankan batsmen in the middle overs.
Electing to bat, Sri Lanka lost their first three wickets inside five overs. Sanath Jayasuriya [ Images ] was caught at second slip off Ryan Sidebottom's [ Images ] first delivery after scoring just one -- his run of poor scores in the tournament continued.
Tillakaratne Dilshan [ Images ] also failed to live up to expectations, scoring nine, before he top-edged a short delivery and was brilliantly caught by Luke Wright [ Images ] at deep square leg off Tim Bresnan [ Images ].
The spinners -- Graeme Swann [ Images ] and Michael Yardy -- got considerable purchase from the wicket once they were introduced into the attack.
Kumar Sangakkara [ Images ] tried to break the shackles as he tried to hit Swanna down the ground but lofted it straight to Kevin Pietersen at long-off for 16.
Swann (1 for 20) and Yardy (0 for 20) bowled a splendid spell in tandem, giving away just 41 runs in a total of eight overs between them.
Chamara Kapugedera [ Images ] became Broad's second victim of the innings, caught at mid-off for 16. The bowler finished with two for 21.
But Bresnan bowled a poor last over, the 18th, and conceded 17 runs, allowing Sri Lanka get past the 100-run mark. In that over, Mathews brought up his half-century off just 40 deliveries with a double on the leg side.
Sri Lanka failed to find the boundaries in the last few overs before Mathews was run-out for 58 as he attempted a second run.
Sri Lanka opened the bowling with spinners, but the plan backfired as England's openers got off to a flying start.
Craig Kieswetter smashed five fours and two sixes during his 29-ball 39 before he was bowled by a yorker from Lasith Malinga.
Michael Lumb made 33 from 26 balls before walking across his stumps to pacer Thissara Perera; he missed the ball and was bowled.
England's openers enjoyed a lot of luck early on. Kieswetter, on 16, was lucky to survive a close leg before wicket appeal against Mathews in the fourth over. Lumb also got a reprieve on 11 when Ajantha Mendis [ Images ] failed to gather the ball and knock down the stumps at the bowling end.
Kevin Pietersen, back after a long flight from England following the birth of his son, showed no signs of fatigue. He quickly got into the act with a huge six over long-on against off-spinner Suraj Randiv [ Images ] and then pulled a short delivery from Malinga for a four.
Under the circumstances, Paul Collingwood [ Images ] played a reckless shot to gift his wicket away. He tried to slam Perera across the line on the leg side but got a top edge and was caught on the off-side for 10.
But Pietersen made sure it was England's day as he hit Malinga for a six and boundary to finish off things in style.
The former captain finished unbeaten on 42 from 26 balls to take England to 132 for three in 16 overs for a crushing seven-wicket victory with four overs to spare.
This is England's first final in a ICC tournament since 2004 and they will be hoping to break their jinx of not winning a major ICC tournament in the final on Sunday, where they face the winners of the second semi-final between Australia [ Images ] and Pakistan.