Fremantle beat the Western Bulldogs by 37 points at Optus Stadium on Friday night, 11.12 (78) to 5.11 (41), for an 18th win of the season and a top-two finish.

Eighteen wins is a club record. Fremantle sit on 147.3 per cent after 20 games, four wins clear of Sydney, who have a game in hand.

It was not comfortable. The Bulldogs flooded numbers behind the ball and kept the first half congested and low scoring. Fremantle kicked seven goals to one after the main break, and the margin came from there.

Josh Treacy kicked three in his 100th game. Luke Jackson kicked two, including the opener. Caleb Serong had 17 disposals, six clearances and two goals. Oscar McDonald took 12 marks and had 22 disposals and eight intercepts across half back.

Tom Liberatore had 28 disposals and six clearances for the Bulldogs, and Ed Richards 26 and nine. Cooper Hynes kicked two goals from 22 disposals in a defensive role. The loss leaves the Bulldogs eighth on 94.8 per cent, the only side inside the eight with a percentage under 100.

The minor premiership is not settled. Fremantle take it with a win over Melbourne next week, or earlier if Sydney lose to St Kilda at Marvel Stadium on Saturday. It would be the club's second, after 2015.

The crowd was 53,524. Fremantle have not lost at Optus Stadium this season.

Melbourne sit seventh and play Gold Coast at People First Stadium on Sunday before travelling to Perth.