The 16.6 (102) to 15.11 (101) win, although unconvincing, tightened the Cats' grip on a final eight spot with Geelong now a game clear in fifth spot.
The match brought back memories of the Cats' narrow win over Carlton in Round 11 as Geelong once again came close to letting a match-winning lead slip.
The Cats outplayed St Kilda for three quarters with the sort of form expected of a top-five side and entered the final term with a 38-point buffer.
But their hard work almost came undone as St Kilda piled on six goals in the final term while a tired Geelong side was unable to add to its three quarter time score.
Only accurate kicking early - which was in stark contrast to their kicking woes of two weeks earlier - and some solid defensive work in the dying minutes helped Geelong fall over the line.
Skipper Ben Graham stood tall under pressure in what coach Mark Thompson described as ``the most telling five minutes of football he has played all year''.
Graham hit the packs hard and took some crucial defensive marks, and despite taking a knock to the calf, he was able to shut down Aaron Hamill who threatened to be a match winner.
James Rahilly was able to shut down livewire Stephen Milne, but it was 300-game veteran Stewart Loewe and young gun Daniel Wulf who brought the game within St Kilda's reach.
The pair pulled in some strong marks and booted two goals apiece in the fourth quarter until Geelong, desperately short of backline options, scrambled men into the defensive 50m in the last couple of tense minutes to bottle the ball up.
Thompson said he was still able to find plenty of positives with his side playing impressive football for three quarters.
The Cats were out of the blocks quickly and had three goals on the board within six minutes - their first of seven for the first term.
Steve Johnson proved a headache early, his three first quarter goals forced many St Kilda opponents and helped set up a four goal buffer at the first change.
Johnson combined well with Kent Kinsley and Cameron Mooney, the trio with seven goals between them at the main break, while Ronnie Burns found himself back in the action, giving the Cats another option up forward.
Geelong's midfield also had the better of the play for much of the match with ruckman Steven King and Paul Chapman finding plenty of the ball.
St Kilda mounted several comebacks throughout the mid part of the match, with Hamill and Milne the main perpetrators.
But some frustrating skill errors and two bad misses by Nick Riewoldt and Hamill, which should have made the difference nine points, instead gave the Cats some breathing space.
At the other end of the ground Geelong was deadly accurate - booting 11.1 for the first half - which proved the difference in the end.