Celtic – who will find out later on Thursday whether Legia Warsaw have been successful in their attempt to be re-instated in the Champions League – made the most of some poor defending from the home side.
Defensive mistakes cost the Saints two of the three second half goals with Dave Mackay sent off for bringing down Derk Boerrigter for the other.
Neither side was able to get a grip on the game in the opening minutes, clear-cut chances proving few and far between as Celtic opened their domestic season.
That pattern continued for most of the opening half with Celtic only managing a shot on target – a weak Callum McGregor effort – in the closing seconds.
Before that, debutant Craig Gordon had been called into action as St Johnstone striker Steven MacLean forced the former Scotland international keeper into a full-length save.
The second period opened in much brighter fashion with MacLean again going close, deflecting a shot from Michael O’Halloran just wide of Gordon’s goal.
Virgil Van Dijk deflected a Lee Croft drive over the bar but it was Celtic who finally took the lead on 55, albeit with a huge assist from the home defence.
Steven Anderson dithered on the ball outside his own box, Kris Commons slid in to dispossess him and Anthony Stokes rounded Alan Mannus before calmly side-footing the ball into the far corner from a narrow angle.
McGregor went close to a second for Celtic two minutes after Stokes’ opener but the champions might have been a little lucky to escape giving away a penalty when Mackay appeared to be clipped by Van Dijk.
Mackay’s night got a lot worse on 76 when he was sent-off for bringing down sub Boerrigter inside the box, and Nir Biton made no mistake from the spot to put Celtic 2-0 in front.
More shambolic defending handed Celtic a third six minutes from time when youngster McGregor fired in a tame shot straight at Mannus which the keeper inexplicably allowed through his hands into the net.