GEELONG has held on to defeat Fremantle by two points in a Saturday night classic at Simonds Stadium, with Freo falling short of a miraculous victory when David Mundy's 50m shot after the final siren faded wide.

The Cats had led by 24 points at three-quarter time, but they faded in the last quarter as Ross Lyon's men charged home.

Freo had numerous chances to win the match in the frantic dying stages, with skipper Matthew Pavlich, who had been very quiet, hitting the post from 50m out near the boundary with two minutes to go.

But Geelong, which had lost four of its previous five games against Freo, is now all but guaranteed a top-four berth after prevailing 12.9 (81) to 11.13 (79).

"It was tense," Cats coach Chris Scott said. "For the last 30 seconds or so, I guess we felt pretty helpless in the box, because there's not much you can do from that far away.

"We gave them a chance. They were good enough to almost take their chance.

"But when you take a step back, I suspect in a couple of days we'll say what fantastic practice for the big games coming up in the rest of the season."

The victory improved the Cats' 2014 record to 15-4. It also moved them back to equal-top of the ladder with Hawthorn and moved them two wins clear of fourth-placed Fremantle.

Geelong defender Harry Taylor was the hero for the winners. He was just about impassable at centre half-back during the first three quarters, and he finished with 27 disposals and 19 marks, nine of which were intercept marks.

Fellow backman Corey Enright, who restricted Hayden Ballantyne to one goal and gathered 27 disposals and seven marks himself, was another star for the Cats.

Joel Selwood led the way in the midfield with 27 touches, seven clearances and a goal, while Bartel was the dominant performer up forward. He spent most of the game deep in attack and booted 3.2.

Mitch Duncan finished with two goals, including an ice-cool effort with his left foot in the last quarter, while half-back Andrew Mackie also kicked two, both them on the run from 50m out.

Mackie was temporarily subbed out of the game during the third quarter after copping an accidental knee to the head from Nat Fyfe, but he returned in the final term and finished with 22 disposals.

There were plenty of fiery clashes during the evening, with Steve Johnson involved in most of them.

As expected, Johnson was tagged by Ryan Crowley, and the pair engaged in an almost constant scuffle, with numerous other Freo players also targeting Johnson when they go the chance.

Johnson was restrained for much of the game, but he is likely to find himself under the glare of the Match Review Panel yet again after making contact with his boot to the head of Lachie Neale during a scrimmage in the opening term.

Travis Varcoe could also be in hot water with the MRP after engaging in a bit of biffo with Nick Suban.

Despite the heartbreaking nature of their loss, Freo had plenty to be proud of.

They battled a number of injury problems, with key defender Luke McPharlin subbed out during the third quarter with an injury and Ballantyne hobbling with a leg problem.

Superstar mifielder Nat Fyfe, who was tagged by Cameron Guthrie, also seemed to suffer a shoulder injury after laying a heavy tackle on Josh Caddy early in the second half.

Midfield general Michael Barlow almost hauled Fremantle over the line with a lion-hearted display.

Barlow finished with a game-high 33 disposals. He also won four clearances and kicked a goal.

Hayden Crozier was a livewire up forward for Freo, kicking three goals, while Fyfe and debutant Max Duffy, who booted a major from 50m out on the run with his first kick in the AFL, finished with two goals each.

"It was a tough game of footy," Lyon said. "We won the ball really well.

"They were a smart footy team early, exposed us a bit on the outside, which we want to be better at and we need to be better at.

“We sort of adjusted, and got the game on our terms and dominated, but in the end were not quite good enough to finish."

GEELONG          4.2   7.4    11.6   12.9    (81)                  
FREMANTLE     1.4   5.5      7.6   11.13   (79)          

GOALS
Geelong:
Bartel 3, Mackie 2, Hawkins, Duncan, Selwood, Motlop, Christensen, Caddy
Fremantle: Crozier 3, Fyfe 2, Duffy 2, Sutcliffe, Hill, Ballantyne, Barlow

BEST 
Geelong:
Taylor, Mackie, Enright, Bartel, Selwood, Duncan, Hawkins, Christensen
Fremantle: Barlow, Fyfe, Mundy, Sandilands, Crowley, Crozier

INJURIES 
Geelong:
Nil
Fremantle: Ballantyne (corked leg), McPharlin (leg), Fyfe (shoulder)

SUBSTITUTES
Geelong:
Josh Caddy replaced George Horlin-Smith in the final quarter.
Fremantle: Max Duffy replaced Luke McPharlin in the third quarter

Reports: Nil

Umpires: Matt Stevic, Jason Armstrong, Troy Pannell

Official crowd: 26,855 at Simonds Stadium