ST KILDA has taken another significant step on the march back towards September and dealt Fremantle's fading finals hopes a hammer blow with a rare nine-point interstate victory at Domain Stadium on Sunday. 

In a white-knuckle contest, the Saints trailed at every change but persisted for the entire four quarters to clinch just their second road win from their past 13 attempts.

Full match coverage and stats

Despite Freo star Michael Walters' stunning six-goal performance, it was St Kilda forward Josh Bruce who was the hero in the last two minutes when he snapped a magnificent goal from heavy congestion to put his side in front.

WATCH: Walters' phenomenal match

Fremantle surged the ball forward from the centre bounce but couldn't score, and Bruce sealed a famous 12.17 (89) to 12.8 (80) victory running into an open goal on the final siren.

WATCH: The thrilling final two minutes

It was a major step forward for Alan Richardson's men, who hadn't won in Perth from their previous six attempts and – like the milestone win over GWS in round seven on a Friday night – the triumph stamped their finals credentials.

St Kilda has now clawed back eighth spot on the ladder with victory No.8 for the year, while the Dockers' fifth-straight loss has seen Ross Lyon's men tumble to 14th spot – now two wins and 18.5 per cent behind the Saints.

Five talking points: Fremantle v St Kilda

Fremantle livewire Walters slumped to the ground exhausted at the final siren after doing everything in his power to lead his side to victory, coming off the heartbreak of shanking a shot in the dying seconds to upset Geelong last round.

Walters had 32 touches – 18 contested – to go with his three clearances and 6.2 – including a go-ahead major late in the fourth quarter.

But the Saints deserved their triumph, despite shooting themselves in the foot with some woeful inaccuracy in front of goal.

St Kilda led for two minutes in the first term, but despite leveling the scores several times only hit the front again eight minutes into the last stanza when Tim Membrey kicked truly after skipper Nick Riewoldt won a controversial 50m penalty on his teammate's behalf.

"It was really pleasing to see us - when headed late - go again," Richardson said.

"You swing from trying to win the game, save the game, win the game, and from that point of view I thought the boys did a really good job."

"It wasn't pretty, it was a real arm-wrestle. That's always the way against Freo, they're a tough team to beat."

The clash came at a cost for both sides, with veteran St Kilda defender Sam Gilbert stretchered off in the third quarter after being driven forward in a Cam McCarthy tackle and hitting his head on the ground.

McCarthy checked on Gilbert after the incident, which is certain to be looked at by the Match Review Panel.

The Dockers lost giant ruckman Aaron Sandilands in the first quarter to another hamstring injury in his comeback game after six weeks on the sidelines – and coach Ross Lyon confirmed the 34-year-old would be out of action for the rest of the season.

Lyon's decision to stick with raw ruckman Sean Darcy (16 disposals, 33 hit-outs) paid off, with the second-gamer competing strongly against Billy Longer (48 hit-outs). 

Darcy sent a scare through the camp minutes after Sandilands went down when stumbled punch-drunk after copping Longer's knee to his head at a centre bounce. 

But amid the drama Fremantle charged to a 16-point quarter-time lead, inspired by fleet-footed smalls Walters and Hayden Ballantyne (two goals). 

It was only the fourth time this season the Dockers have led at the first change, and their biggest advantage since round three's stunning win over the Western Bulldogs (19). 

But the Saints stormed back with Jake Carlisle igniting the fightback with two goals from defence.

Carlisle sparked an ugly melee after pushing Ballantyne as he lay prone on the ground following a heavy landing, and then booted his first team-lifter minutes later, before Jade Gresham (three goals) seized on Lachie Weller's ballooned switch across half-back.

St Kilda feasted on Freo's turnovers, but Darcy and Brennan Cox's first career majors ensured the Dockers just kept their noses in front 47-44 at the long break.

But the Saints kept on coming – their resolve typified by Jack Steele's 17-tackle game after being recalled to the seniors – and they remain on track for a first finals appearance since 2011.

St Kilda feasted on Freo's turnovers, but Darcy and Brennan Cox's first career majors ensured the Dockers just kept their noses in front 47-44 at the long break, but they couldn't hold on late.

"We slaughtered the ball. We put our butcher's apron on and away we went down in our (defensive) 50," Dockers coach Ross Lyon said post-match.

"That kept St Kilda's mindset fuelled in the game and then they dug in and got it done."

St Kilda's resolve was typified by Jack Steele's 17-tackle game after being recalled to the seniors – and the Saints remain on track for a first finals appearance since 2011.

MEDICAL ROOM
Fremantle: Aaron Sandilands' season is over after pinging his hamstring in his comeback game, Brennan Cox and Tommy Sheridan (knee) were sore but Lyon said the injuries were nothing major. Stephen Hill was withdrawn from the 22 due to a calf but the issue is only minor and he could be fit to play next week.

St Kilda: Alan Richardson had initial concerns about Sam Gilbert's neck when his head hit the ground in Cam McCarthy's tackle, but the veteran was walking around in the changerooms and he will be assessed over the coming week. 

Sam Gilbert was taken off on a stretcher after this tackle. #AFLFreoSaints pic.twitter.com/kIkUMl9yXt

NEXT UP
The Saints have a huge 'Maddie's Match' against fellow finals contenders Richmond to look forward to at Etihad Stadium on Saturday, while Fremantle will front up to take on North Melbourne on Sunday with both teams coming off lengthy losing streaks.

FREMANTLE       4.3     7.5      10.7    12.8 (80)                  
ST KILDA           1.5      6.8     8.14    12.17 (89)           

GOALS
Fremantle: Walters 6, Ballantyne 2, Neale, Darcy, Cox, B.Hill
St Kilda: Gresham 3, Bruce 3, Carlisle 2, Membrey 2, Billings, Steele,

BEST 
Fremantle: Walters, Neale, Hill, Johnson, Darcy, Hamling
St Kilda: Carlisle, Stevens, Gresham, Ross, Steele 

INJURIES 
Fremantle: Sandilands (right hamstring)
St Kilda: Gilbert (concussion)

Reports: Jack Steven for striking Hayden Ballantyne in the second quarter

Umpires: Margetts, Deboy, Williamson

Official crowd: 30,541 at Domain Stadium