Despite a shaky start and looking like falling out of touch in the first half, Melbourne has broken its 2019 duck, downing Sydney 15.10 (100) to 11.12 (78) at the SCG on Thursday night.
Co-captain Nathan Jones, playing primarily on the wing, kicked three goals and had 21 disposals in the win.
He converted an important set-shot at the 20-minute mark of the final term, pushing the margin to 16 points when the Swans had been threatening.
It was a disappointing match for Sydney, which now sits on one win and three losses after leading comfortably by 22 points in the second quarter.
The last time Melbourne defeated the Swans was round 17 in 2010; the only players remaining from that match being Jones and Swans pair Josh Kennedy and Kieren Jack. It is also the first time Lance Franklin has lost to Melbourne in 16 meetings.
Sydney had the first three shots of the game but only managed a rushed behind, before an unopposed Christian Petracca showed his class with a seemingly casual goal from 50 metres.
Brayden Preuss' career at the Demons got off to the perfect start when he took the ball out of the ruck and snapped a high goal across his body to kick Melbourne's second.
The former Roo kicked another in the dying minutes of the first term from outside 50 that went untouched on the goal-line, before missing much of the second quarter due to a knock on the shoulder.
Preuss gave the occasional chop-out to Max Gawn in the ruck, who was incredibly dominant at the stoppages.
To say the hitout count was lopsided is an understatement, Melbourne winning it 73 to 13.
The Swans were initially more than happy to shark Gawn's taps, winning the clearance battle comfortably in the first half, with Ollie Florent (25 disposals) and Zak Jones (24) featuring heavily.
As was the case against Essendon last week, it was a different Melbourne side which emerged after quarter-time.
James Harmes kicked off proceedings, with his hard running from the middle rewarded with a set-shot and goal from 40 metres.
The Demons were harder around the ball, addressing the clearance deficit with usual suspects Clayton Oliver (33 touches), Angus Brayshaw and Jones standing up.
Nathan Jones will have a highlight to hold over younger brother Zak at the next family Christmas (and probably for several years to come), kicking a stunning snap running towards the boundary while being hotly pursued by his sibling.
It was one of two goals the senior Jones kicked in that second term, the Dees piling on five while holding the Swans to three.
Lance Franklin had a quiet-ish night by his lofty standards, mis-kicking a set shot in the third that was run down the other end by a stream of Melbourne players for a Jayden Hunt goal and finishing with 1.3.
Sam Weideman broke through for his first goal at an important time, when the undersized Jackson Thurlow gave away a free kick for a hold halfway through the final term.
Young Swans forward Jordan Dawson impressed early with two classy goals, while Jack was handy with two of his own on his return from a knee injury.
Jake Lloyd (34) and Dane Rampe (25) battled hard in an under-siege defence, the Dees going inside 50 a massive 59 times.
MEDICAL ROOM
It was a game filled with big – but fair – hits that left several players heading to the bench to recover. Demons Clayton Oliver, Angus Brayshaw and Swan Isaac Heeney all hit the turf hard and needed assistance, but the trio all played out the game. Dees big man Brayden Preuss had a knock to his shoulder but also returned.
NEXT UP
Melbourne has a chance to win two in a row, with a nine-day break before taking on St Kilda on Saturday at the MCG. Sydney will also be liking its chances, coming up against an injury-hit Richmond on Saturday at Marvel Stadium, a ground it traditionally plays well that.
SYDNEY 5.4 8.10 9.11 11.12 (78)
MELBOURNE 3.2 8.4 12.7 15.10 (100)
GOALS
Sydney: Florent 2, Dawson 2, Jack 2, Sinclair, Z. Jones, Heeney, Franklin, Ronke
Melbourne: N. Jones 3, Preuss 2, Petracca 2, Hunt 2, Harmes, Melksham, T. McDonald, Weideman, Brayshaw, Viney
BEST
Sydney: Cunningham, Lloyd, Florent, Rampe, Jones, Heeney
Melbourne: Gawn, Oliver, N. Jones, Salem, Hore, Harmes
INJURIES
Sydney: Nil
Melbourne: Braydon Preuss (shoulder)
Reports: Nil
Umpires: Rosebury, Stephens, Wallace
Official crowd: 26,669 at the SCG