Fremantle has moved a step closer to sealing top spot after a hard-fought 21-point win over Greater Western Sydney at Domain Stadium on Sunday.

Freo looked on track for a comfortable victory, but were forced to hold off a spirited Giants fightback before sealing the 12.12 (84) to 9.9 (63) result.

But the win could come at a cost with Zac Dawson, who was playing his first match of the season, likely to come under scrutiny from the Match Review Panel after an off-the-ball incident with Jeremy Cameron.

Fremantle Dockers goalsneak Michael Walters booted four goals, while Aaron Sandilands was a force in the ruck.

Game Breaker: Walters all class

Fremantle dominated most of the key stats throughout the contest, but its sloppy execution kept GWS in the contest until midway through the third quarter.

"I thought we were up-tempo, created plenty of opportunities but I thought our polish and skill level wasn't where we needed to be," Fremantle coach Ross Lyon said.

"So we need to keep working on that. There's a bit of time still but I thought it was more convincing than the scoreboard (suggested)."

Danyle Pearce, Hayden Crozier, Michael Barlow, and Chris Mayne all missed easy goals in the first half, while defender-cum-forward Alex Pearce didn't make the distance on two occasions from 45m out.

Ross Lyon post-match Q and A

The Giants started the third term full of run, and a boilover loomed after they closed the margin to just 12 points.

But an umpiring howler halted GWS in its tracks.

The Giants should have been awarded a free kick in their defensive half when the ball bounced off Freo Docker Alex Pearce's foot and went out of bounds on the full.

But the boundary umpire instead awarded the free kick to Fremantle, with the home side scoring a goal from their foray forward.

Fremantle added another two unanswered goals to open up a 33-point lead by the final break, with GWS unable to reel in the deficit.

Mayne sneaks one through

The result all but guarantees Fremantle a top-two berth, with the ladder-leading Freo Dockers now three wins clear of third spot.

GWS remains half a win adrift of eighth spot ahead of next week's home match against struggling Essendon.

The Giants lost Matt Buntine to concussion in the second term, while ruckman Tom Downie was forced off with a head knock in the third quarter.

Tempers threatened to boil over early in the final quarter when a number of players were involved in a wrestle.

Cameron was in the thick of the action, with the melee leaving him with blood all over his face yet again.

FREMANTLE                                          4.2   6.8    10.11   12.12   (84)                  
GREATER WESTERN SYDNEY            1.2   2.6     5.8      9.9       (63)          

GOALS
Fremantle: Walters 4, Pavlich 2, Mayne 2, Mundy, D. Pearce, A. Pearce, Griffin
Greater Western Sydney: Cameron 2, Coniglio, Wilson, Scully, Lamb, Hoskin-Elliott, Griffen, Lobb

BEST
Fremantle: Hill, Walters, Sandilands, Mundy, Neale, D. Pearce
Greater Western Sydney: Coniglio, Treloar, Greene, Shaw, Cameron

INJURIES
Fremantle: Mayne (ankle)
Greater Western Sydney: Buntine (concussion)

SUBSTITUTES
Fremantle: Lachie Weller replaced Alex Pearce in the fourth quarter
Greater Western Sydney: Jack Steele replaced Matt Buntine in the second quarter

Reports: Nil

Umpires: Farmer, Nicholls, Mitchell

Official crowd: 34,626 at Domain Stadium