A second half Graham Cummins double set up a St Johnstone the win which takes them level on points with fourth-placed Hearts.
The Irishman hadn’t found the net in four months but he picked a great time to end that run.
Saints had been struggling to find their best form when Cummins struck twice within six minutes. Murray Davidson then made the scoreline an emphatic one with a header.
There was a crowd of 3,279 in the ground – boosted by the club’s #PaintItBlue promotional campaign – and the Perth youngsters who were attracted to the match will have gone home happy.
It was a bright start to the game on a gloomy afternoon, with early chances for both sides.
On five minutes Zander Clark made a decent save low to his right, tipping an angled Darian McKinnon shot round the post. Then from the corner, Grant Gillespie should have done better with a volley.
At the other end Davidson had a swing at a loose ball eight yards out but didn’t connect well with it.
The penalty box action started to dry up a bit after that, though. It took until near the half-hour mark for the next incident of note when a long-range Ali Crawford free-kick just dipped over the bar.
Then on 35 minutes Steven Anderson made a hash of a clearance and Craig Watson should have done better with his first-time shot.
Accies should have been in front five minutes after the break. Crawford broke through the middle of the Saints defence and was teed up by Alex D’Acol. The highly-rated playmaker tried to find the top corner when he should have gone for power and he missed the target.
As so often happens, salt was rubbed in the wound by a goal for the opposition.
Danny Swanson’s inswinging corner was met by Cummins, who gave Gary Woods no chance with a powerful header.
Saints were soon 2-0 up and cruising. And it was Cummins again who got the goal, tucking away a Blair Alston cross on 58 minutes.
This game had come to life and Hamilton almost pulled one back when Danny Redmond’s eight-yard shot was blocked by Anderson, although it might have been going just wide.
It was game over on 75 minutes when Davidson’s glancing header from a Brian Easton cross beat Woods to make it 3-0.
There were some protests from the visiting fans as the match drew to a close but there certainly weren’t any complaints from the home supporters as Saints comfortably protected their advantage.