St Kilda have cemented their place in the AFL top eight and denied Sydney star Lance Franklin a fairy-tale finish in his 350th match with a hard-fought 14-point victory at the SCG.
Franklin lit up his milestone match in the second term with a 1058th-career goal but it was the Saints who finished brighter for a 12.8 (80) to 9.12 (66) triumph on Thursday night.
Key defender Callum Wilkie clamped down on Franklin after the star forward threatened to spark the hosts, as the Saints (8-4) booted five goals to two in the final term to overrun the Swans.
Jack Sinclair (32 disposals, seven clearances) was superb for the Saints whether winning the ball at stoppages or starting their ball movement from defence, while Brad Crouch (33) and Nasiah Wanganeen-Milera (30, one goal) were also important.
Max King finished with three goals as Mitch Owens and Dan Butler both booted two, while Rowan Marshall (16 disposals, 51 hitouts) dominated in the ruck as the Saints snapped a seven-match losing streak at the SCG going back to 2009.
But the Saints will be sweating on the review of a Dan Butler tackle on Nick Blakey in the third term, after their small forward brought the Swans’ defender to ground and he was soon subbed out due to concussion.
Franklin’s first of two goals for the night took him to outright fourth among the most prolific VFL/AFL goalkickers but there would be no wild celebrations at the final siren this time.
Onballers James Rowbottom (24 disposals, nine clearances) and Chad Warner (24, six) battled hard in the absence of Swans co-captains Luke Parker and Callum Mills, as young midfielder Angus Sheldrick (19, eight) enjoyed a breakout game.
Oliver Florent (34, five) and Justin McInerney (22) also stood out with their outside run and clean ball use, while goalsneak Tom Papley joined Franklin on two goals for the Swans.
While the occasion focused on arguably the most captivating player of modern times, it was a dour opening term as the Saints managed just one goal and the Swans were kept scoreless.
Franklin then made his mark in the second term with two goals as the Swans slammed on five majors to take a nine-point advantage into the main break.
It was an arm wrestle from there and the Swans took a six-point lead into the final term, but just as against GWS and Port Adelaide at home earlier this season they were gradually overrun.
Sydney head to Queensland next to play Brisbane on Friday night, while St Kilda will face Richmond at the MCG on Saturday night.