England chased down a target of 176 to beat South Africa by seven wickets in the Champions Trophy semi-final at The Oval.
Jonathan Trott's 82 not out saw England across the winning line in the 38th over but it was the bowlers who had done much of the hard work earlier in the day.
South Africa were all out for 175 in 38.4 overs and it was only a ninth-wicket stand of 95 between David Miller (56no) and Rory Kleinveldt (43) that added even a semblance of respectability to the scorecard.
James Anderson (2-14) set the tone with two wickets in a seven-over opening spell, while James Tredwell (3-19) and Stuart Broad (3-50) each finished with three wickets.
England, who have never won a global 50-over competition, await the winner of Thursday's semi-final in Cardiff between India and Sri Lanka. The final takes place at Edgbaston on Sunday.
South Africa failed to recover from losing two wickets in the first two overs after Alastair Cook asked them to bat in overcast conditions.
England were without Tim Bresnan, who left the squad to attend the birth of his son, handing Steven Finn a chance in the starting XI. Tredwell deputised for the injured Graeme Swann (calf) for the second match in a row.
Anderson removed Colin Ingram lbw for a duck with the fifth ball of the match and Finn followed up by having Hashim Amla (1) caught behind, the first of six catches for Jos Buttler.
Cook kept Anderson going for a longer than usual with the new ball, a decision that paid dividends when Robin Peterson (30) became his second lbw victim to leave South Africa on 45-3. The left-hander was undone by an inswinger after being set up by a series of deliveries moving the other away, nodding his appreciation on the way off.
Broad had South Africa skipper AB de Villiers caught behind for a nine-ball duck from a delivery he did well to reach and JP Duminy, after successfully overturning an lbw verdict off Broad, was on his way for three in the next over when Tredwell bowled him via a bottom-edged cut.
South Africa's collapse continued apace; Tredwell added the wickets of Faf du Plessis (26) and Chris Morris (3) either side of Ryan McLaren (1) being run out by a quick-thinking Trott from slip.
From 80-8, Miller and Kleinveldt took an aggressive approach to their 16-over partnership to at least give South Africa something to defend on a blameless pitch.
Broad ended the innings with the wickets of Kleinveldt and Lonwabo Tsotsobe in the 29th over, both caught behind, leaving Miller on 56 not out from 51 balls.
England lost three wickets on the way to overhauling their modest target with 75 deliveries unused, South Africa's cause not helped by the absence of their seam-bowling spearhead Dale Steyn due to a hip injury.
Trott, playing against the land of his birth, oversaw proceedings after openers Cook (6) and Ian Bell (20) were both caught behind, off Morris (1-38) and Steyn's replacement Kleinveldt (1-10) respectively.
Joe Root (48) joined Trott in a third-wicket alliance of 145 ended South Africa's hopes of scripting a turnaround.
Root was bowled sweeping at Duminy (1-27) two short of his half-century with 30 still required but Trott, who faced 84 balls and hit 11 fours, and Eoin Morgan (15no) finished off the job without further incident.
England's record in their previous one-day international tournament finals is poor. They have lost three World Cup finals and were beaten by West Indies in their lone Champions Trophy final appearance, the last time they hosted the event in 2004.