A seven-goal run by Fremantle during the second and third quarters has helped consign Richmond to its ninth game of the season, by 20 points at the MCG.
Despite the Tigers controlling the ball around the ground for much of the day, with 95 more disposals and 14 more inside 50s, the Dockers rebounded with precision, scoring 25 times from just 37 entries.
Hayden Ballantyne wreaked havoc up forward for the Dockers, kicking an equal career-high six goals.
Richmond had surges of its own, late in the second and fourth quarters, and got within 14 points with six minutes to go in the game, before Matthew Pavlich kicked the sealing goal late.
The last quarter surge was led by Brandon Ellis, who had 14 disposals, to finish with 29 for the match.
Anthony Miles was Richmond’s most consistent player throughout the day, finishing with 30 disposals and ten clearances, and he also kicked his first goal for Richmond.
Alex Rance marshalled the defence with 29 disposals and 10 marks, while Dustin Martin was also prolific again with 28 disposals and a goal.
The Tigers will take on Sydney at the MCG next Friday night.
RICHMOND 1.3 5.9 7.11 12.13 (85)
FREMANTLE 3.1 7.5 13.8. 16.9 (105)
GOALS
Richmond: Deledio 2, Petterd 2, Maric, Riewoldt, Miles, Batchelor, Foley, Ellis, Newman, Martin
Fremantle: Ballantyne 6, Pavlich 3, Barlow 2, Spurr, Mundy, Pearce, Clarke, Fyfe
BEST
Richmond: Miles, Ellis, Rance, Petterd, Martin, Chaplin
Fremantle: Ballantyne, Fyfe, Mundy, Hill, Barlow, Crowley, Pavlich
SUBSTITUTES
Richmond: Ben Lennon replaced Dylan Grimes in the third quarter
Fremantle: Colin Sylvia replaced Danyle Pearce in the third quarter
Reports: Nil
Umpires: Fisher, Kamolins, Findlay
Official crowd: 22,074 at the MCG