In-demand star Zak Butters may have played his last game for Port Adelaide after he was helped off the ground with a potentially serious ankle injury in his side's 14-point loss to St Kilda.
Butters, who is mulling options as a restricted free agent, went down late in the third term as the Power threatened to pull off what would have been a brave comeback at Marvel Stadium on Saturday.
But with Mitch Georgiades (concussion) and Lachie Jones (ribs) out of the game, and Jack Lukosius (calf) on one leg, the stand-in captain's injury proved one hurdle too many for the visitors to overcome.
St Kilda led by 37 points before halftime, but saw the advantage slashed to just three points on multiple occasions in the third and fourth quarters before steadying for an important 13.9 (87) to 10.13 (73) win.
It keeps the Saints (8-9) firmly in the finals mix ahead of a huge clash with Geelong next week, while Port (6-11) are left counting the cost of a tough afternoon.
St Kilda stars Bradley Hill (39 disposals) and Nasiah Wanganeen-Milera (32) continued their strong form, with Hugo Garcia (32), Marcus Windhager (27) and ruckman Rowan Marshall (29) also influential.
Captain Callum Wilkie had a career-high 34 disposals and 13 intercept possessions as the anchor in defence, while Cooper Sharman kicked three goals - all in the Saints' dominant first term.
The hosts led by 18 points at quarter-time and doubled the advantage by the main break, before Jason Horne-Francis led Port's fightback.
Horne-Francis was moved forward in Georgaides' absence for the second half and kicked two of the Power's six goals in the third term.
Lukosius kept a ball in play to set up Joe Berry's opening goal of the last quarter, but the Saints hit back with majors through Mitch Owens and Mason Wood to settle the contest.
Horne-Francis finished with 23 disposals, eight clearances and two goals, while Butters had 26 touches and five clearances despite sitting out the final quarter.
Power defender Aliir Aliir had a dozen intercepts and Corey Durdin kicked two goals.
St Kilda's win came after coach Ross Lyon ruled his club out of the running for Brisbane star Lachie Neale's signature in a pre-match radio interview.
Lyon, who coached Neale at Fremantle from 2012 to 2018, met with the 33-year-old last week, but indicated the Saints will prioritise retaining their existing younger talent.