St Kilda's remote AFL finals hopes remain alive after they fought off Melbourne to win by 36 points at Etihad Stadium.
The Demons looked to have all the running early in the last quarter on Sunday, but the Saints rallied to win 15.20 (110) to 11.8 (74).
North Melbourne's form slump means the 10th-placed Saints remain in finals contention, despite being two games and plenty of percentage behind.
Tim Membrey kicked four goals for the Saints and Leigh Montagna had 26 disposals, while midfielder Jack Viney and defender Tom McDonald impressed for Melbourne.
Demons ruckman Max Gawn had kicked the first goal of the last quarter, reducing the margin to five points.
The Demons went deep into attack again and key forward Jesse Hogan probably should have received a free kick.
Instead, it is understood he was reported for a high elbow on Jarryn Geary.
The Saints rebounded and moments later Nick Riewoldt snapped a goal to relieve the pressure.
St Kilda have a 14-game winning streak against the Demons that goes back a decade.
Melbourne, now out of finals contention, also continued their woeful record at Etihad Stadium.
They have won just one of their last 25 games there.
The Demons made the early running on Sunday, with Hogan's strong mark and goal near quarter time giving them a 17-point lead at the first change.
The Saints noticeably ramped up their pressure, kicking 5.3 to three behinds in the second quarter.
The match looked over as St Kilda maintained their surge with the first two goals of the third, giving them a 29-point lead.
But just when St Kilda could have landed the knockout blow, Daniel McKenzie and Riewoldt missed straightforward set shots.
Sure enough, the Demons roared back to life with two goals.
Then Jack Viney took an outstanding mark to improbably bring the Demons to within 11 points.
In another key moment involving Hogan, he then had a booming shot on goal from 50m.
The goal umpire said Riewoldt touched it on the line and the video replay was inconclusive, meaning it was ruled a behind.
Membrey's shot at goal at three-quarter time hit the post - another opportunity lost - and the Saints led by 11 points at the final change.