Stefan Scougall was the hero with his first St Johnstone goal clinching a crucial three points for the Perth club.
This wasn’t a vintage Saints performance by any means but on a freezing afternoon against a team unbeaten in six games, that didn’t matter.
The goal came midway through the first half and Tommy Wright’s men were impressive in seeing the match out without too many scares.
There was a first start for Callum Hendry, with Richard Foster, Michael O’Halloran and David Wotherspoon all returning to the line-up.
Nine minutes into the game the first chance fell to the hosts. A long ball out of defence was chased down by Darren Lyon, whose lob beat Zander Clark but was over hit and landed on the roof of the net.
Hamilton had an even better opportunity eight minutes later when Dougie Imrie’s cross from the left was begging to be side-footed home on the six-yard line but Antonio Rojano somehow managed to scoop it over the bar.
The pressure was building on Saints and shortly after the half-hour mark Zander Clark produced a brilliant save to keep out a low Ioannis Skondras shot from the edge of the box, then get back up to pounce on Rojano’s follow-up.
On 63 minutes Clark made another fine save, this time from Darian McKinnon after his shot came through a crowded penalty box.
Three minutes later Saints were in front, with their first decent chance of the game.
The Accies defence coughed up possession at the edge of their own box and Scougall had a simple finish from 10 yards out.
The home team must have been starting to think this wasn’t going to be their day and David Templeton couldn’t hide his frustration when he blasted over from 18 yards. Then, with nine minutes left, the same was true of Skondras.
By this point Denny Johnstone had replaced Hendry and he had a shot from a tight angle that found the side-netting.
There was a late penalty shout for Accies when the ball struck Joe Shaughnessy’s arm but referee Craig Thomson waved play on.