The Kangaroos led by 10 points at half time, but Barry Hall and Brett Kirk led an inspired fightback by the home side to set up the 17.8 (110) to 11.9 (75) victory in front of a disappointing crowd of 19,127.
Hall finished with three goals, as did Kieren Jack and Adam Goodes, while Kirk, Amon Buchanan and Jarrad McVeigh were productive through the midfield.
Brent Harvey was sensational early for the Roos, finishing with 19 possessions and two goals and Daniel Harris worked tirelessly in the clinches.
The Swans will now play the Western Bulldogs in Friday night’s first semi-final, as the Kangaroos – top-four fancies just a fortnight ago – will rue an opportunity lost.
The Swans made a mockery of their lacklustre first half with a blistering start to the third quarter.
Goals to Hall (twice), Goodes and McVeigh turned that deficit into a 13-point lead and the diehard Swans fans burst into voice.
A clever snap from Roos spearhead Nathan Thompson briefly silenced them, but they roared again when smart young forward Patrick Veszpremi was first to a loose ball in the goal square.
Hall was pivotal in the Swans’ sixth goal of the term, beating two North opponents at centre half-forward and feeding Jack, who ran in to kick his second major of the night.
Despite the home side’s momentum, the Roos refused to be cowed and Ed Lower hit back with two goals in as many minutes to cut the Swans’ lead to seven points.
Malceski dragged one of those back and when no North Melbourne player stood the mark after an errant kick flew out of the full, Goodes pounced for his second – and the Swans’ eighth – of the term.
In keeping with the game’s see-sawing nature, David Hale kicked truly after the siren to leave the Swans 14 points up at the last change.
Lower looked set to close the gap even further early in the last, but his shot from 30m hit the post.
As so often happens, the Swans made him pay in the very next passage as Hall booted his third after beating Josh Gibson one on one.
The rest of the quarter turned into a procession for the Swans as they started slotting them from everywhere.
It was arguable whether Jack or Ted Richards sealed the win, but the result was beyond doubt when Moore ran into an open goal to the unbridled joy of the red and white faithful.
Such a comprehensive win seemed a long way off when North started the game with an intensity missing in last week’s unexpected loss to Port Adelaide
The Roos’ booted four unanswered goals in the first 20 minutes, two of those coming from Harvey’s boot.
It took the experience and clean hands of Ryan O’Keefe to finally open the Swans’ account after 26 minutes, kicking truly after a grab that belied the slippery conditions.
Had Goodes and Hall converted late chances, North Melbourne’s 14-point quarter-time lead could have been less than a goal.
Those missed opportunities were soon forgotten as Jack cut North’s lead to eight points inside the first two minutes of the second term.
Matt Campbell and Thompson spurned chances at the other end, and O’Keefe made the Roos pay by slotting his second after another towering grab.
Both teams ratcheted up the pressure as the contest tightened and it was veteran Roos forward Shannon Grant who broke the stalemate, striking twice in a minute to put North 16 points up.
That was as good it got for the Kangaroos; a late goal to Moore cut their lead to 10 points and heralded the start of the Swans’ incredible second-half onslaught.
Sydney Swans 1.5 4.6 12.7 17.8 (110)
North Melbourne 4.1 6.4 10.5 11.9 (75)
GOALS
Sydney Swans: Hall 3, Jack 3, Goodes 3, Moore 2, O’Keefe 2, Malceski, McVeigh, Richards, Veszpremi
North Melbourne: Grant 2, Hale 2, Harvey 2, Lower 2, Petrie, Sinclair, Thompson
BEST
Sydney Swans: Kirk, Richards, Goodes, Jolly, McVeigh, O’Keefe, Hall, Jack
North Melbourne: Harvey, Petrie, Pratt, Harris, Lower, Hale
INJURIES
Sydney Swans: Bird replaced in selected side by Veszpremi.
North Melbourne: Hansen replaced in selected side by Urquhart.
Reports: Nil
Umpires: Vozzo, McBurney, Chamberlain
Official crowd: 19,127 at ANZ Stadium
The views in this article are those of the author and not necessarily those of the club