Fremantle will miss the finals for a second consecutive season after slumping to a 20-point loss to Port Adelaide, with the result gifting Carlton eighth spot.
The Dockers entered Sunday's match knowing a win would earn them a finals berth following St Kilda's last-gasp two-point triumph over the Blues.
A huge roar went up around Perth Stadium before the Dockers-Power clash when St Kilda's Jack Higgins scored a goal with 12 seconds remaining to secure victory over Carlton.
But the Dockers couldn't complete their part of the equation, with two final-quarter goals from former West Coast Eagle Willie Rioli helping Port secure the 13.9 (87) to 9.13 (67) victory in front of 45,322 fans.
Sunday's match was also crucial for Port, given a loss by about four goals would have allowed Geelong to leapfrog them into second spot.
Port's win means they will now host the third-placed Cats in a qualifying final.
Port star Ollie Wines tallied 31 disposals and six clearances in his 250th game, Zak Butters had 27 possessions, while Jason Horne-Francis kicked two goals from 20 possessions and Rioli slotted three majors.
Andrew Brayshaw racked up 32 disposals and five clearances for the Dockers, while Hayden Young tallied 10 score involvements among his 19 possessions, but he spent most of the final quarter on the bench after sustaining a knock to his calf.
The win came at a cost for Port Adelaide, with defender Kane Farrell set to miss the start of the finals after injuring his left hamstring in the second quarter.
Fellow defender Aliir Aliir sent a huge scare through the camp when he also went down in the second quarter, but he was able to return to the field after receiving treatment on his ankle in the rooms.
The Power suffered a late pre-match blow when Charlie Dixon was ruled out with illness.
Port Adelaide won the inside 50m count 18-11 in the first quarter but Fremantle made the most of their chances to open up an eight-point lead.
The roles were reversed in a pressure-filled second quarter, with Fremantle spraying 2.6 in comparison to Port Adelaide's 4.3 as the visitors hit the lead.
A stunning one-handed mark from Nat Fyfe at the top of the goalsquare with just seconds remaining in the half ensured the margin was only one point at the long break.
The Power twice skipped away to 15-point leads in the third quarter, with Fremantle's ill discipline off the ball handing the visitors a goal from point-blank range late.
But Sam Sturt's late snap reduced the gap to nine points at the final change.
Dockers forward Patrick Voss floated across the pack to take a big mark early in the final term to reduce the margin to three points, but Caleb Serong missed the chance to put Fremantle in front when his shot on the run faded.
Rioli's low mark helped Port extend the margin back out to nine points, and he popped up again late to kick the sealer.
Earlier, Marcus Bontempelli and the Bulldogs withstand wild weather — and the Giants — in Ballarat to clinch finals footy.
Check out the live blog below for a full recap of all of Sunday's AFL action as it happened.
AAP
Thank you and goodnight!
Well I'm all blogged out after a ridiculous weekend of footy.
It was great to get the SUPER SUNDAY (TM) that we all wanted as neutral fans, with the finals structure coming right down to the last quarter of the regular season.
Heartbreak for Freo fans, who join the likes of Collingwood, Melbourne and Essendon as teams who looked like they could push for a flag at some point this year but won't even get a shot at the finals.
And for the eight remaining, nothing but joyous hope in one of the most even seasons in living memory.
Thanks to everyone who has joined me this weekend, whether via click, comment, or vague passing interest.
Let's do it all again in two week's time!
LoadingWeek one finals fixture
So after one of the more incredible regular seasons of AFL footy, we finally know what week one of the finals looks like.
The schedule won't be released until tomorrow, but I suspect it will be a Thursday night, Friday night, Saturday twilight and Saturday night fixture.
On Thursday night, I'd expect it to be Port Adelaide hosting Geelong at Adelaide Oval in the qualifying final. The teams met in QFs at Adelaide Oval in both 2020 and 2021, and the Power won both of them reasonably comfortably.
And Friday night, we'll likely see the Western Bulldogs hosting Hawthorn at the MCG in an elimination final. The last time these two met in a final was 2016, when the Dogs went on their stunning run to the flag.
Sydney will be hosting the GWS Giants at the SCG in a qualifying final likely on Saturday afternoon. It will be the fourth time the two teams have met in finals, with the Giants currently holding a 3-0 record.
The Saturday night game will probably be the elimination final between the Brisbane Lions and Carlton at the Gabba. It would be the sequel to last year's incredible preliminary final, which the Lions claimed by 16 points.
FT: Port Adelaide Power 13.9 (87) defeat Fremantle Dockers 9.13 (67)
A game of wasted opportunities for the Dockers.
They had their chances going into the F50 but dearly missed Josh Treacy today.
Andrew Brayshaw (32) has the most touches for the game, ahead of Ollie Wines (31).
The Power secure second place and host Geelong in the qualifying final.
And the Blues, after the heartbreak of their final moment loss to the Saints, sneak into finals to play the Lions at the Gabba in an elimination final.
Jordon Sweet kicks the goal and this one is over!
Fremantle's 2024 season is over, and Carlton makes it through to finals by the skin of their teeth!
Rioli does it again!
Travis Boak kicks a chaos ball into the goal square and Mitch Georgiades almost takes a great one-hander, but it spills out.
Willie Rioli roves it though and kicks the goal!
He shushes the crowd!
The Blues are in the box seat to play finals at this rate.
Hayden Young looks like he's in trouble
The star midfielder has sat out much of past 15 minutes on the bench.
The Dockers brought him back on to play him forward, but he's just not moving right.
It looks like a calf.
Willie Rioli brings it back to nine points!
After all the F50 entries for Freo, Port get the one and they kick a goal from it.
Again it's Jason Horne-Francis who coolly floats around the the throw in and collects the pill, handing off to Zak Butters.
Butters spears it into the F50 and Rioli marks the ball low.
That really hurts the Dockers after they had so much of the ball inside their forward half.
Serong misses a flying shot!
That was a great chance for Freo to take the lead!
He had space and time but it hooks it to the left and it's down to two points.
Voss takes a strong mark and goals!
The Dockers finally convert a F50 entry!
Patrick Voss clunks it 15m directly in front and he ... almost misses! Boy oh boy that was close.
But he does convert and it's back to three points!
Dockers inside 50s ...
These Fremantle inside 50s are making me really sad.
I'm not a Dockers supporter.
I have no skin in this game.
They are just making me sad.
The Dockers make their sub
Corey Wagner looked injured late in that third-term, but Michael Walters is coming in for Matthew Johnson.
It is a tactical sub.
3QT: Port Adelaide Power 10.8 (68) lead Fremantle Dockers 8.11 (59)
What a frustrating quarter from the Dockers.
They peppered the F50 throughout the term but they were all messy, unorganised entries that could have done with a Josh Treacy at the end of them.
But Josh Treacy isn't there, and the Dockers can't afford to be as cavalier with their ball use as they were in that quarter.
They'll be frustrated with the free goal to McEntee too. Silly footy.
On the live ladder, Carlton sit in 8th and Fremantle sit in 10th, but the Dockers are still in with a shot here.
Geelong's hopes of hosting a qualifying final are looking increasingly less likely though, with that 21+ point Dockers winning margin probably beyond them.
The Dockers answer back!
Well that was quick!
They get it out of the guts and Sam Sturt sweeps in to kick the goal to bring it back to a single figure margin.
Port Adelaide get a free one
Jed McEntee is handed a free kick at the top of the goal square after Liam Reidy gives away a silly free kick down the field as the Dockers set up for a kick in.
Dumb footy. Costly footy.
Luke Jackson gets one back for the Dockers!
The entry into F50 has been atrocious from the Dockers this quarter, but a big hoof from Hayden Young puts pressure on the Port defence in the goal square and Jackson wins the free kick for front on contact.
It's a bit of a soft one, I'm not sure it was there, but the Dockers desperately needed that one.
We're back to eight points!
Horne-Francis has alarm bells going off
Port moves ahead to a game high 15-point lead via Jason Horne-Francis.
The inside 50 comes from Logan Evans, and Esava Ratugolea uses strength to beat two opponents, and handballs to an open JHF.
Trouble here for the Dockers.
Francis Evans draws first blood for the half
There's loose men everywhere for Port as Zak Butters shifts the attack to the other side of the F50 via Travis Boak, who then finds Evans.
The sub converts with his first kick of the game.
We're underway in the second half
And Aliir Aliir is back out there for the Power!
Great result for Port Adelaide, who have already lost Kane Farrell for the game.
HT: Port Adelaide Power 7.3 (45) lead Fremantle Dockers 6.8 (44)
Jason Horne-Francis and Mitch Georgiades imposed themselves on the game there, and Port Adelaide holds a one-point lead at half time.
It feels like finals footy at the moment and both teams are having their moments.
Andrew Brayshaw leads the disposal count with 18, with Ollie Wines and Heath Chapman both on 15.
On the live ladder, Carlton is currently in the 8th with Fremantle 10th. Port Adelaide is a win ahead of Geelong in second.