Eoin Morgan’s men skittled out Australia for 223 before romping to their target in 32.1 overs in a lop-sided battle between the hosts and the holders at Edgbaston.
Jason Roy (85) and Jonny Bairstow (34) made the chase look like a cakewalk with their fourth successive hundred partnership.
Joe Root (49 not out) and Morgan (45 not out) completed the formalities for England with consummate ease.
England, who last made the final in 1992 when they lost to Pakistan, will meet 2015 runners-up New Zealand in Sunday’s final at Lord’s where new champions will be crowned.
Earlier, Aaron Finch’s decision to bat appeared to backfire with Chris Woakes and Jofra Archer blowing away the Australian top order.
Archer struck with his first delivery to dismiss Finch and later left Alex Carey with a bloodied chin which needed stitches.
By then, the setback had snowballed into a full-blown crisis for Australia.
Woakes (3-20) removed David Warner, Australia’s leading scorer in the tournament, for nine and bowled Peter Handscomb who was making his World Cup debut as replacement for the injured Usman Khawaja.
Archer oozed hostility at the other end, hitting a hopping Carey on the grill of his helmet and dislodging it from his head.
Carey braved the blow to join Steve Smith in a dogged bid to arrest the free-fall and Australia reached the 100-mark in the 25th over before their middle order caved in.
Adil Rashid claimed 3-54, including the wickets of Carey (46) and Marcus Stoinis, and Archer sent back Glenn Maxwell, who scored at a run-a-ball for his 22 before being deceived by a slower ball.
Smith was run out for 85 in the 48th over and Australia could not last their full quota of 50 overs.
Smith and Carey scored more than half their team’s total and were among only four Australian batsmen who managed double-digit scores.
Their slim victory chances hinged on their ability to subject England to a similar top-order collapse but Roy and Bairstow batted with the kind of fearlessness which has been the hallmark of this England team.
Roy smashed his fourth consecutive fifty in the tournament, clobbering Smith for three sixes in a row.
Mitchell Starc, who made 29 with the bat, dismissed Bairstow and Pat Cummins denied Roy his century but the match had slipped through Australia’s fingers by then.