The Blues came from 39 points down in the third term to win 15.14 (104) to 15.13 (103) in a thrilling farewell to AAMI Stadium.
Carlton booted eight goals to three in the the final term to stun Port, though the Power will also play finals next week.
Both clubs will feature in elimination against finals - against Richmond or Collingwood respectively, depending on other weekend results.
A Carlton win was a long shot when Port's Brad Ebert booted his fourth goal early in the third quarter, giving his side a 39-point lead.
Some 15 minutes later, the Blues still trailed by that margin and appeared doomed when 29 points behind at three-quarter time.
But they turned the tide against Port by booting four goals in eight minutes of the last quarter to revive their season.
And the visitors took the lead for the first time in the game when unheralded 14-gamer Tom Bell slotted a 45-metre shot on the run with five minutes remaining.
In a pulsating finale before 45,127 fans in the final game at AAMI Stadium, Port's Matthew Broadbent had the chance to deliver his side a win with a 50m attempt with just 27 seconds to go.
But his shot hit the post, leaving Port one point adrift.
Blues captain Marc Murphy kicked three goals and, along with the likes of Bryce Gibbs (26 touches) and Andrew Walker (25 possessions) triggered the finals-saving fightback.
Carlton's mosquito fleet - Eddie Betts, Chris Yarren and Jeff Gartlett - all kicked two goals.
Port's Ebert was a standout but faded late while his teammates Jay Schulz (three goals) and Kane Cornes (34 disposals) were prominent.
Former Power captain Dom Cassisi faces an anxious wait, with his second-term sling tackle on Murphy certain to attract match review panel attention.
Cassisi, holding both hands of the Blues captain, threw Murphy to the ground in a late tackle penalised by an umpire.
CARLTON 1.5 3.7 7.12 15.14 (104)
PORT ADELAIDE 4.3 8.9 12.11 15.13 (103)
Goals: Carlton - Murphy 3; Yarran, Betts, Garlett 2; Gibbs, Curnow, Waite, Simpson, Kreuzer, Bell. Port Adelaide - Ebert, Schulz 4; Westhoff 2; Monfries, Young, Wingard, Boak, Logan.
Best: Carlton - Murphy, Gibbs, Walker, Betts, Curnow, Yarran. Port Adelaide - Cornes, Ebert, Schulz, Colquhoun, Westhoff, Broadbent.
Umpires: Troy Pannell, Simon Meredith, Mathew Nicholls.
Official Crowd: 45,127 at AAMI Stadium.