Set 175 - the highest innings total of the rapid-fire fourth Ashes Test - England continued with their frenetic Bazball approach to blast their way to the target in just 32.2 overs.
Aggressive No.5 Harry Brook hit the winning runs late on Saturday, with wicketkeeper Jamie Smith at the other end.
It is the second two-day Test of the summer in a massive financial blow to Cricket Australia, after the series opener in Perth also ended with three days to spare.
This pitch was treacherous to bat on for both sides, prompting criticism even from fast-bowling greats such as Stuart Broad, Glenn McGrath and Brett Lee, and former England captain Michael Vaughan.
Kevin Pietersen, one of the heroes of England's famous 2005 Ashes triumph, described the match as "utter shambles".
Australia were skittled for 152 and 132, not even facing a combined 80 overs during their two innings as none of their batters reached 50.
England didn't even last 30 overs in their first innings on day one and were out for 110, trailing Australia by 42 runs.
It is the first time the same series has had multiple two-day Tests in 129 years.
Before this series, there had only been two two-day Tests in Australia - coming in 1931 and 2022.
It is England's first victory in Australia since they convincingly won the 2010-11 Ashes 3-1 - ending it with a heavy victory at the SCG, 5468 days ago.
The visitors travelled to Melbourne this week having lost 16 and drawn the other two of their 18 most recent Tests in Australia.
With hopes of regaining the Ashes already gone after defeats in Perth, Brisbane and Adelaide, this win salvages some pride for England and turns down the heat on coach Brendon McCullum.
England paceman Josh Tongue starred with seven wickets for the match, including 5-45 in the first innings.
Australia declined to pick a frontline spinner in a red-ball match at home for the first time in almost 14 years.
But even England didn't require their spin-bowling allrounder Will Jacks to send down a single over in the match.
MCC curator Matt Page left 10mm of grass on the pitch, saying before the Test started he was trying to replicate last year's epic against India that was decided late on day five.
Starting the day at 0-4, Australia's top-order folded again as Travis Head (46, the highest individual score of this Test) and stand-in captain Steve Smith (24no) provided the only resistance in the second innings.
Even with fellow quick Gus Atkinson off with a hamstring injury, England made the most of the bowler-friendly conditions.
New opener Jake Weatherald, struggling No.3 Marnus Labuschagne and allrounder Cameron Green failed again, placing further pressure on their positions.
But they are bound to be given more leeway because no player in this match reached 50 in an innings.
Weatherald, who replaced Sam Konstas as opener for the Ashes, is averaging just 20.85 from the first eight innings of his Test career.
The attacking left-hander, who came in at No.3 due to Scott Boland opening as a nightwatchman, left a ball from Stokes that cannoned into the stumps.
Labuschagne ends a difficult 2025 after making just 271 runs at an average 20.84 from eight Tests.
The 31-year-old was dropped for the tour of the West Indies, but recalled for the Ashes on the back of strong Sheffield Shield form.
His superb catching has been a feature of the summer, but his returns with the bat have again not been up to scratch.
The 26-year-old tried to guide a Stokes ball away into the off-side, but was caught at second slip.
Green is averaging just 18.66 this series, batting at No.7 in this match after being as high as No.3 earlier this year when he returned from injury.
The Ashes moves to Sydney for the fifth and final Test at the SCG, starting on January 4.