Griffiths gave Celtic the lead after 35 seconds before a superb solo effort from Stefan Johansen doubled the advantage seven minutes after half-time.
St Johnstone midfielder Michael O’Halloran set up a thrilling finish by netting a reply from close range with 18 minutes left, before a wonder double save from Craig Gordon in added-time clinched an eighth straight Celtic victory since the turn of the year.
Celtic had opened the scoring inside the first minute for the second game in a week.
Gary Mackay-Steven had given his team the lead inside 60 seconds in the midweek victory over Partick Thistle and when Israel midfielder Nir Biton passed through a yawning chasm in the Saints defence, returning striker Griffiths coolly slotted his team in front for his third goal in as many games.
In the 12th minute, Hoops keeper Gordon saved a close-range toe-poke from O’Halloran before Callum Davidson limped off with a knock for Saints, to be replaced by Christopher Kane.
The home substitute almost glanced an immediate equaliser with his first touch from O’Halloran’s left-wing cross.
That incident aside, Celtic looked in the comfort zone and Alan Mannus brilliantly denied Mackay-Steven at the expense of a corner, which came to nothing, after 33 minutes.
And the visitors looked to have killed off the game in spectacular fashion when Griffiths headed on a Stuart Armstrong pass into the path of Johansen.
The Norwegian juggled it a couple of times with his left-foot before crashing a right-footed shot past Mannus to make it 2-0 (52).
However, O’Halloran ensured a nervy finish for Ronny Deila’s men when he converted into an empty net, after Gordon had diverted Tam Scobie’s cross and Kane’s shot into his path.
It was the first time in nine matches, and in 13 hours and 36 minutes, that the Celtic defence had conceded a goal.
Deila brought on defender Efe Ambrose for midfielder Mackay-Steven with eight minutes remaining to give Celtic more defensive solidity but the visitors continued to threaten.
Saints’ left-back Brian Easton then bravely blocked a net-bound shot from Liam Henderson, who had been set up by fellow substitute Anthony Stokes, to keep his team in with a chance.
And Celtic keeper Gordon was then called upon to make a remarkable double save in added-time, first from replacement Brian Graham’s header and then skipper Dave Mackay’s volley, to ensure all the points went back to Parkhead.