The circumstances weren't quite the same, but Fremantle star Michael Walters was the hero again as Fremantle continued surging towards a September return with a gripping 21-point victory over Port Adelaide.

After kicking match-winning scores against Brisbane and Collingwood, it was Walters who proved the difference against the Power with an equal career-best six-goal haul, including the first and last of a frenetic final quarter.

Right now, Walters is in the form of his life, and nobody can stop him. In a performance certain to gain him the three Brownlow Medal votes, the left-footer finished with 25 disposals, five clearances and 6.1, leading Freo back inside the top eight.

While Walters will deservedly bask in the adulation after his masterclass, Freo’s seventh victory for 2019 – a 15.10 (100) to 12.7 (79) – was marked by strong contributions across the park.

Jesse Hogan produced his best performance in purple, kicking three goals and taking 11 marks, while Brandon Matera continued his excellent season with another three majors – taking him to 21, only six shy of his best year in 2014.

Luke Ryan boosted his All Australian chances across half-back, stepping up in Alex Pearce's absence, while superstar skipper Nat Fyfe fought an engrossing battle with Brownlow Medal fancy Travis Boak.

Fyfe's game-high 37 disposals – 22 contested – eclipsed Boak by one possession, and the overall duel was just as close as they scrapped all the way to the siren.

The Power might not have left Optus Stadium with the four points, but they could hold their heads high after pushing Fremantle – who are 5-1 at home against interstate rivals this year.

Port move (6-6) one spot to ninth on the ladder and face a huge test against Geelong at home next Saturday night.

In a see-sawing contest that hung on a knife's edge until late in the final quarter, Port burst out of the blocks but could never shake Fremantle. 

The lead changed hands seven times, and the Power edged ahead by a point at the final change after Kane Farrell kicked his career-best fourth goal from point-blank range. 

Despite appearing to have plenty of momentum, Ken Hinkley's men failed to score in the last quarter in a disappointing finish to a brave performance without Ollie Wines, Tom Rockliff and Charlie Dixon.

Playing his first game in 420 days, Hamish Hartlett had the ball on a string early, racking up 12 touches in the first term, before Freo turned the tide.

He appeared to get through unscathed coming back from an ACL reconstruction and hamstring woes, while returning Dockers gun Stephen Hill lifted after a four-handball opening half to finish with 12 possessions in his first game this year. 

Young defender Griffin Logue had some good moments and filled the breach left by Pearce and gathered 24 possessions in the process, while young ruckman Sean Darcy didn't lower his colours against top duo Paddy Ryder (two goals) and Scott Lycett.

Fremantle won the stoppages 15-3 in the last term, largely thanks to Darcy and Fyfe's influence and with another four games at Optus Stadium, plus a home Western Derby, Freo’s dream of a first finals appearance since 2015 looks well on track.

But the Power, who haven't won consecutive games since rounds five and six, have some work to do to improve their inconsistency if they are to stay in the finals race.

MEDICAL ROOM

Fremantle: Small forward Sam Switkowski hobbled off the ground late in the first half with an apparent ankle issue but returned to play after the long break.

Port Adelaide: Tom Jonas copped some friendly fire from Tom Clurey early in the third quarter and shoved the medical staff away before playing out the game. 

NEXT UP

Fremantle heads back to the MCG for a winnable clash against Melbourne on Saturday afternoon, while the Power return home for a huge contest with League-leading Geelong that evening. 

FREMANTLE               3.2       8.4       12.6     15.10 (100)

PORT ADELAIDE         5.1       7.5       12.7     12.7 (79)

GOALS

Fremantle: Walters 6, Hogan 3, Matera 3, Bewley, Langdon, Cox

Port Adelaide: Farrell 4, Ryder 2, Westhoff, Boak, Howard, Motlop, Powell-Pepper, Butters

BEST

Fremantle: Walters, Fyfe, Ryan, B.Hill, Darcy, Logue

Port Adelaide: Boak, Gray, Burton, Farrell, Lycett, Duursma

INJURIES

Fremantle: Nil

Port Adelaide: Nil

Reports: Nil

Umpires: Dalgleish, Deboy, Hosking, Dore

Official crowd: 37,451 at Optus Stadium