FREMANTLE has stunned Geelong with a memorable three-point win at GMHBA Stadium to lay down its marker as a genuine premiership contender.
The Dockers belied the injury-enforced absences of Sean Darcy and Matt Taberner, along with giving up the first three goals of Saturday's game, to prevail 10.9 (69) to 10.6 (66) in one of the finest victories of Justin Longmuir's tenure.
CATS v DOCKERS Full match coverage and stats
It was just their fourth win in 19 attempts at Kardinia Park and included keeping Geelong goalless from the 28-minute mark of the first quarter until the 20th minute of the third in front of 20,136 fans.
Fremantle is now 6-1 and second behind reigning premier Melbourne despite skipper Nat Fyfe (back) not playing all season, while Geelong remains firmly in the pack of clubs jostling in the lower half of the eight.
Winger Blake Acres (27 disposals) was excellent while midfielder Andrew Brayshaw (28 disposals) was typically industrious.
Rory Lobb gave the Dockers a target all day, while Griffin Logue shut down Jeremy Cameron and Alex Pearce overcame Tom Hawkins' red-hot start to fight out an entertaining duel.
Defender Tom Stewart (40 disposals, 13 marks) was clearly the Cats' best while small forward Tyson Stengle (three goals) was lively and Cam Guthrie (35 disposals, eight clearances) stood out in midfield in Patrick Dangerfield's absence.
The Dockers looked shellshocked early as Geelong booted the first three goals of the game, with Hawkins kicking two.
Lobb steadied the ship, with Nathan O'Driscoll adding another from the boundary, while Lachie Schulz's late snap kept the margin to nine points at quarter time.
Geelong's Max Holmes injured his ankle late in the first quarter and was substituted out for Luke Dahlhaus early in the second.
Fremantle dominated the second quarter with its pace and slick ball movement but was wasteful early, kicking three points before Lobb's second major drew it within a point.
Sam Switkowski's long-range point drew Fremantle level at the main break, then it exploded in the third term.
In his 100th game, Darcy Tucker snapped the Dockers in front, with Switkowski and Michael Frederick nudging the lead out to 18 points.
Rhys Stanley took a hanger and converted from close range to revive the Cats but Acres hoofed a wonderful long-range goal to deliver Fremantle a 17-point lead at three-quarter time.
The Cats wouldn't go away in the final term.
Mark Blicavs launched his second goal from long range to cut the margin to three points with 26 seconds left on the clock.
But Fremantle hung on for a memorable victory.
GEELONG 5.0 5.1 6.3 10.6 (66)
FREMANTLE 3.3 4.7 8.8 10.9 (69)
Geelong: Stengle 3, Hawkins 2, Stanley 2, Blicavs 2, Dahlhaus
Fremantle: Lobb 2, Schultz 2, Frederick 2, O'Driscoll, Tucker, Switkowski, Acres
Geelong: Stewart, Guthrie, Stengle, Close, Blicavs
Fremantle: Acres, Brayshaw, Lobb, Serong, Clark, Mundy
Geelong: Holmes (ankle)
Geelong: Luke Dahlhaus (replaced Max Holmes in the second quarter)
Fremantle: Bailey Banfield (unused)
Crowd: 20,136 at GMHBA Stadium