Port Adelaide's AFL season is firmly back on track, with the Power upsetting ladder-leading St Kilda by seven points at Marvel Stadium.
Young gun Jason Horne-Francis racked up 11 clearances and 18 contested possessions as the Power posted their fourth straight win on Friday night, 12.11 (83) to 11.10 (76).
St Kilda were held goalless in the second term - the first time that has happened to them this season.
With the clash in the balance, key position player Jeremy Finlayson went into defence and took two crucial marks late in the last quarter.
Finlayson also snapped the goal in the last term that gave Port the lead again after St Kilda had kicked the first two goals of the quarter.
Key forward Charlie Dixon then laid a big smother on Saints defender Josh Battle that set up Sam Powell-Pepper for a goal, then Dixon marked and goalled to give Port a game-winning buffer.
It is a far cry from Port's round-three Showdown loss, which prompted former Port captain Warren Tredrea to say coach Ken Hinkley's future was untenable.
St Kilda started the game predictably, having two less inside 50s in the first quarter, but squeezing Port defensively.
They led by as much as 19 points and had a three-goal lead at the first break.
Adding to Port's woes, midfielder Xavier Duursma hurt his knee in a heavy collision with Saints ruckman Rowan Marshall and was emotional when he had to be subbed out of the game during quarter-time.
But just when it looked the game was following a familiar script, Port changed the game.
Assistant coach Nathan Bassett had spoken this week of the need for patience and smart ball usage.
After their shaky start, Port steadied and went to work to crack open the Saints.
With Horne-Francis racking up clearances, the Power kicked four goals in the second term and took a seven-point lead into the long break.
Saints captain Jack Steele was on fire in the first quarter with 11 disposals, but only managed three in the second.
The Saints hit back with three goals in the third and briefly regained the lead, only for Power forward Junior Rioli to kick two himself and Port led by eight points at three-quarter time.
The Saints were left ruing poor decisions when they went into attack.
They ended up with five more inside 50s, but lacked system when the game was in the balance.
St Kilda's Jack Sinclair had a game-high 33 disposals, while Power onballer Travis Boak racked up 30 and Marshall impressed for the Saints in the ruck.