Never headed, the Saints clung on to defeat Geelong by six points, 14.7 (91) to 13.7 (85), despite the Cats erasing a 23-point deficit to level the scores late in the final quarter.
A steepling mark at full-forward by Michael Gardiner proved the match-winner, in front of a stadium-record crowd of 54,444.
The goal – Gardiner’s fourth – came only after a two-minute delay, during which Geelong defender Harry Taylor was taken from the ground on a stretcher after being hurt in the marking contest.
The Saints were forced to parry one final attack but, fittingly, the ball finished in Gardiner’s arms on the wing.
Twin towers Nick Riewoldt (three goals) and Justin Koschitzke (two) were important in inflicting what was Geelong’s fourth defeat since round six, 2007, and the Cats’ first since last year's grand final.
The highly anticipated clash of the two elite midfields proved an even affair.
The Cats were looking for big things from Jimmy Bartel and Gary Ablett, neither of whom spent any time on the bench in the first half.
Ablett was closely followed by the relentless Clint Jones but still slipped away to show his brilliance throughout the game, collecting 27 touches.
Bartel had 10 more touches and an equally valuable, if less spectacular contribution. His highlight was in the back 50 in the second quarter when he took a brave contested mark that eventually resulted in a Joel Corey goal. Paul Chapman was everywhere, finishing with 40 possessions.
Saint Sam Fisher played his best game of the season, providing run out of defence while rotating off a number of Geelong forwards. Sam Gilbert was just as impressive in a similar role.
An unanswered five-goal salvo in the first quarter laid the foundations for the Saints, who extended their unbeaten record to 14 games with the win.
The ferocity of St Kilda’s early assault caused panic in the normally unflappable Geelong defence.
Trademark pressure tackling from the ladder leaders bought three goals inside five minutes – the best to Riewoldt, diving with the flight of the ball to mark in the goal square.
Only two Saint indiscretions – a high bump on Travis Varcoe and a 50m penalty conceded to Ablett – saved Geelong from a goalless first quarter.
The Cats fought back to trail by 17 points at half time, and closed within three points late in the third term.
Three St Kilda goals without reply restored a 23-point lead in the final quarter that appeared to have neutered the comeback.
But the Cats were far from done.
Cameron Mooney had struggled early, but led up the ground and slammed home a shot from 60 metres to cut the gap to five points. Mathew Stokes’ only goal tied the scores with 24 minutes on the clock.
Luke Ball’s speculative long bomb found Gardiner six minutes later.
In-form forward Steve Johnson was a late withdrawal for the Cats with a tight hip, replaced by Simon Hogan.
St Kilda 5.3 8.4 10.5 14.7 (91)
Geelong 2.2 5.5 8.7 13.7 (85)
GOALS
St Kilda: Gardiner 4, Riewoldt 3, Koschitzke 2, S Fisher, Jones, Milne, McQualter, Schneider
Geelong: Ablett 2, Milburn 2, Mooney 2, Chapman, Corey, Mackie, Rooke, Selwood, Stokes, Varcoe
BEST
St Kilda: S Fisher, Gardiner, Gilbert, Hayes, Goddard, Montagna, Blake
Geelong: Ablett, Bartel, Chapman, Selwood, Mackie, Blake, Ling
INJURIES
St Kilda: Nil
Geelong: S Johnson (hip) out, replaced in selected side by Hogan; Taylor (concussion)
Reports: Nil
Umpires: Vozzo, Rosebury, Chamberlain
Official crowd: 54,444 at Docklands
The views in this article are those of the author and not necessarily those of the clubs or the AFL.