Ali Crawford scored the opener after seven minutes but Canning was dismissed in the second half for a poor challenge on Michael O’Halloran before Brian Graham nodded home Saints’ equaliser.
An early chance for the Accies looked to have been wasted as Nigel Hasselbaink failed to control a cross into the box.
But his team-mate Crawford took the ball on and rode a challenge before smashing the ball into the roof of the net for his ninth goal of the season.
Further chances were at a premium for the remainder of the first period but Saints began to press after the break.
Half-time substitute Simon Lappin saw his goal-bound shot inadvertently stopped by team-mate O’Halloran before the home defence scrambled the ball clear.
The visitors’ chances of getting back into the game then improved when Canning – who recalled himself to the starting line-up along with four other players – was sent off for a crude challenge on O’Halloran, with Crawford sending the subsequent free-kick over the crossbar.
Graham then went close to finding the net after getting on the end of O’Halloran’s cross but his header fell agonisingly wide of the target.
St Johnstone kept pressing, though, with Graham heading Lappin’s cross powerfully past Accies goalkeeper Michael McGovern from close range.
Tommy Wright’s side pushed for a winner in the closing stages but Hamilton held firm, although they are yet to win under Canning’s leadership.