FREMANTLE has withstood an extraordinary performance from an undermanned Sydney Swans side to secure its second home preliminary final in three seasons.

The Swans entered the game without Lance Franklin (illness), Kieren Jack (knee), Luke Parker (ankle) and Nick Smith (hamstring), and lost Sam Reid to a hamstring injury in the second term but pushed the Dockers to within nine points of an incredible upset.

Click here for full match coverage and stats

But the Dockers' composure in front of goal proved the difference in the end.

They won 10.9 (69) to 7.18 (60) to lock in a home preliminary final for the second time in their history. They will play Hawthorn, Western Bulldogs or Adelaide on the Friday night of preliminary final weekend.

Player ratings: Fremantle

"(Finals) are always tough to win," Fremantle coach Ross Lyon said.

"I thought our first half was pretty good. For a number of reasons, (in the) third quarter (there was) just way too much handball, we lost our structure in front of the ball (and) got pinned in.

"But our players' effort and desire is unquestioned, and kudos to Sydney with the challenges they had."

The Swans now face a test next Saturday night against the winner of Richmond and North Melbourne at ANZ Stadium to see if they will travel to Perth again to face West Coast.    

Six things we learned from Fremantle v the Swans

The Swans will likely be without Reid for the rest of the finals with the key forward subbed out immediately after limping from the field in the second quarter with a hamstring strain.

The Dockers suffered a blow pre-game with Luke McPharlin ruled out with calf soreness, while key forward Matt Taberner was also replaced with Tendai Mzungu and Clancee Pearce coming into the side.

The Swans were brave and won the inside 50 count 53-41 and the tackle count 83-52, but they kicked 1.7 from set shots in the first half and it came back to bite them. They also kicked 2.5 in the last quarter including the last four scores of the match, all of them points.

Player ratings: Sydney Swans

"We had 12 more inside 50s and six more scoring shots," Swans coach John Longmire said.  

"I thought our effort was outstanding.

"I was really pleased how we were able to fight on and play the sort of footy that we were able to play today. It was a gutsy effort.

Ball-magnet Kennedy sets new AFL record

"Our blokes had a real go, and in the end it gave us a real chance to win. We didn't take our opportunities when we needed to and that's part of finals football and that's why we didn't win." 

Swans' key forward woes worsen

At the other end, Michael Walters and Hayden Ballantyne were flawless in front of goal kicking three straight each.

The Dockers dominated the clearances 42-28, Aaron Sandilands had 43 hit-outs and five clearances, while Nat Fyfe collected 32 touches and eight clearances on return although he limped from the ground in the last quarter.

Lachie Neale (32 disposals and a goal), David Mundy (27) and Stephen Hill (26) were all pivotal through the midfield.

But none were better than Josh Kennedy who was easily the Swans' best with 39 disposals, his 11th straight game of 30 possessions or more.

Dan Hannebery was also superb with 34 disposals and Adam Goodes was outstanding all day with 25 disposals, all of them accompanied by more boos from sections of the Domain Stadium crowd.

Fan ejected as booing of Goodes returns

Jarrad McVeigh and Rhyce Shaw provided damaging run from half-back while Ted Richards and Heath Grundy held firm.

Kurt Tippett kicked three important goals, including two in the last quarter but the inaccuracy of his teammates was costly. 

FREMANTLE              4.1   6.4    8.8    10.9 (69)
SYDNEY SWANS       1.6   2.11  5.13  7.18 (60)

GOALS
Fremantle: Walters 3, Ballantyne 3, Mayne, Clarke, Neale, Barlow
Sydney Swans: Tippett 3, Reid, Laidler, McVeigh, Towers

BEST 
Fremantle: Fyfe, Neale, Mundy, Sandilands, Walters, Hill, Ballantyne
Sydney Swans: Kennedy, Hannebery, McVeigh, Goodes, Shaw, Grundy, Richards

INJURIES 
Fremantle: Luke McPharlin (calf) replaced by Tendai Mzungu before the game
Sydney Swans: Sam Reid (hamstring)

SUBSTITUTES
Fremantle: Clancee Pearce replaced Nick Suban in the fourth quarter
Sydney Swans: Zak Jones replaced Sam Reid in the second quarter

Reports: Nil

Umpires: Chamberlain, Margetts, Findlay

Official crowd: 40,071 at Domain Stadium