A wayward St Kilda managed to straighten up in a final-quarter comeback to snatch victory from North Melbourne at Marvel Stadium on Sunday.
The Saints trailed by 16 points and were in deep trouble at three-quarter time of the Sunday twilight game at Marvel Stadium, but stormed home to win 9.15 (69) to 9.7 (61).
St Kilda came out of the gate faster than North with the first two goals of the game, but was overtaken midway through the second term and trailed by 16 points at the final change.
It was a much-needed win for St Kilda after they had lost four of their past five games, while North's losing streak grew to 16.
The loss was no fault of star North on-baller Luke Davies-Uniacke, who was best afield with 33 possessions, 23 of them contested, and 11 clearances.
SAINTS MATCH CENTRE: View all news, stats and videos from Round 19
Saints captain Jack Steele also racked up 33 disposals and put his side in front 12 minutes into the last term when he intercepted a clearing kick from Kangaroos defender Paul Curtis.
That crucial play typified the turnover-laden match, with neither side able to build momentum thanks to a succession of handling errors.
After trailing at quarter-time, North built a two-goal lead at the main break and looked more likely to win as they kicked two goals to one in the third term.
However, the Saints quickly kicked the first two goals of the final term and the Roos were unable to curb their momentum.
Tarryn Thomas and Nick Larkey kicked three goals apiece for North, while Mitch Owens and Jack Higgins had two for St Kilda, including a snap from Higgins 27 minutes into the final quarter to seal the result.
Saints speedster Bradley Hill went to hospital with chest pain after a heavy bump from Aidan Corr in the first quarter.
North youngster Charlie Lazzaro was a late withdrawal with a back injury and Daniel Howe took his place.
NORTH MELBOURNE 3.3 3.7 4.12 9.15 (69)
ST KILDA 2.0 6.1 8.4 9.7 (61)
North Melbourne: Thomas 3, Larkey 3, Xerri, Ford, Ziebell
St Kilda: Owens 2, Higgins 2, Marshall, Sharman, Sinclair, Caminiti, Steele
North Melbourne: McKay, Davies-Uniacke, Thomas, Larkey, Sheezel, Tucker
St Kilda: Steele, Sinclair, Marshall, Windhager, Crouch, Higgins
North Melbourne: TBC
St Kilda: Hill (chest)
North Melbourne: Howe replaced Lazarro in selected side
North Melbourne: Jack Ziebell (replaced Liam Shiels at three-quarter time)
St Kilda: Jack Billings (replaced Bradley Hill in the first quarter)