Given no chance against the premiership favourites, West Coast opened the final term with two quick goals and drew within three points of the ladder leaders.
But despite being well below their best - and having their record sequence of quarters won ended at 21 - the Cats settled and won their ninth game of the season, 18.14 (122) to 14.14 (98).
The win may yet leave a sour taste for the wounded Cats, who persevered with Cameron Mooney at full forward after he injured his left ankle, and risk losing James Podsiadly and Corey Enright after they landed high bumps on West Coast opponents.
Adam Selwood, who nullified star Cat Gary Ablett in the first half, suffered what appeared to be a serious shoulder injury late in the second term when Enright left the ground and cannoned into him.
Geelong owes much of its last quarter resolve to Paul Chapman, who won 10 of his 36 possessions in the finale and finished with five clearances and six inside 50s in a best-on-ground performance.
Stand-in captain Jimmy Bartel (30 possessions and six clearances) was also a standout for the Cats, while Shannon Byrnes (22 possessions and four goals), David Wojcinski (two goals) and Enright (25) were important for the Cats.
The Eagles dominated the clearances in the first quarter (14-1) and had 10 scoring shots to six, but they didn’t make the most of their opportunities and entered the first break one point down.
The second term was even, but the Eagles’ one-point edge was enough to end Geelong’s record sequence of quarters won.
The Cats, who lost captain Cameron Ling in the build-up, were missing six players from their best line-up and welcomed debutant Taylor Hunt.
They face Essendon next week before enjoying a bye.
West Coast 3.7 7.9 12.10 14.14 (98)
Geelong 4.2 8.3 15.8 18.14 (122)
GOALS
West Coast: Kennedy 3, McKinley 3, LeCras 2, Naitanui 2, Embley, Cox, Ebert, Dalziell
Geelong: Byrnes 4, Johnson 3, Ablett 2, Wojcinski 2 Podsiadly, T Hunt, Varcoe, Selwood, Enright, Stokes, Mackie
BEST
West Coast: Waters, Embley, Priddis, Kennedy, Sheppard, McKinley
Geelong: Chapman, Bartel, Byrnes, Wojcinski, Enright, Selwood
INJURIES
West Coast: A Selwood (AC joint), Butler (ankle)
Geelong: Mooney (ankle), Cameron Ling (shoulder) replaced in selected side by Taylor Hunt
Reports: Nil
Umpires: Donlon, Farmer, Dalgleish
Official crowd: 33,784 at Subiaco Oval
The views expressed in this article are those of the author and not necessarily those of the AFL or its clubs