The Hoops found it a struggle in the first half against a well-organised Saints side, but a Georgios Samaras header (66) and an own goal by midfielder Chris Millar (70) saw off the visitors, whose striker Cillian Sheridan missed a great chance with the game goalless.
It was not a vintage Celtic performance, who were perhaps a bit deflated by Rangers' win at Motherwell on Saturday which prevented a possible title party on Sunday.
However, that will not worry Hoops boss Neil Lennon, whose side need only a draw against Kilmarnock at Rugby Park next Saturday lunchtime to be crowned champions.
Lennon made four changes for Sunday's game, two of which were enforced.
In came right-back Mikael Lustig for his home debut, along with defender Glenn Loovens, midfielder Kris Commons and striker Gary Hooper.
Defender Cha Du-ri and midfielder Victor Wanyama were suspended while Adam Matthews and Ki Sung-yueng dropped to the bench.
Saints new signing, former Celtic striker Derek Riordan, was not on the bench and manager Steve Lomas named an unchanged side with Francisco Sandaza and former Hoops man Sheridan leading the line.
The Celtic players warmed up wearing number 19 shirts as a tribute to Aston Villa captain and former Hoops star Stiliyan Petrov, who has been diagnosed with acute leukaemia.
Within seconds of the start, St Johnstone midfielder Liam Craig fouled Samaras and Anthony Stokes fired the 25-yard free-kick over the bar.
Samaras, playing wide left, looked in the mood and in the fifth minute he burst into the Perth side's penalty area and crossed to the back post but Stokes' header was easily saved by Saints keeper Alan Mannus.
In the 19th minute, the stadium stood, applauded and chanted Petrov's name in tribute, moments before Hooper, in a Celtic breakaway, had his chip shot from the edge of the box grabbed by Mannus.
Commons had the best chance of the half in the 25th minute when he was set up by Stokes but the Scotland midfielder drilled his shot from 14 yards wide of the far post.
At the other end, Celtic keeper Fraser Forster was forced into a decent save from Craig's 25-yard free-kick.
The tempo dropped as the mistakes increased and the match had a real end-of-season feeling about it.
In the 38th minute Saints defender Frazer Wright decided to allow Lustig's cross from the right go across his six-yard box, which drew gasps of anticipation from the home fans but there were no hooped jerseys to take advantage.
The visitors survived a scare just before the interval.
Commons' free-kick into the St Johnstone box caused panic after Mannus punched the ball into a mass of bodies and Celtic left-back Charlie Mulgrew had a goal-bound shot blocked close to the line by Wright, who then blocked another effort from Stokes, before Commons sent a shot wide.
The home fans were looking for more urgency from their team in the second half but Celtic should have found themselves a goal down within three minutes of the restart.
Saints midfielder Chris Millar took possession wide on the right and played in right-back Dave Mackay, who sent a great cross into the box only for Sheridan to somehow miss the target from six yards.
Moments later Sandaza rose highest in the Hoops box to head Craig's whipped-in free-kick looping over the bar.
Matthews replaced Lustig in the 55th minute before Ki came on for Stokes and, in between the two substitutions, Mannus tipped a cross-cum-shot from Commons over the bar as the hosts exerted some pressure.
Samaras won the free-kick which led to his opener in the 66th minute when Saints defender David McCracken fouled him 35 yards out in his frustration to get the ball off the Greece striker. Commons flighted the ball to the back post, where Samaras climbed to head back across goal and past Mannus.
The points were sealed four minutes later, with the Saints bench still complaining about a hefty tackle on Craig by Commons, who played on.
Celtic swept up the park and, when Ki played in Samaras down the right, he drove a low cross into the box which was deflected into his own net by Millar.
Saints shrugged off their rage to try to rescue something from the game and in the 83rd minute Forster made a fine save from Craig's 25-yard free-kick, stretching to tip the ball over the bar for a corner.
Craig then blasted over the bar from close range after Forster had parried a Sandaza cross right to his feet, summing up a frustrating day for the McDiarmid Park midfielder.
In the final seconds of normal time, after Wright had clattered Commons 25 yards from goal, Mulgrew drew a good save from Mannus with his curling free-kick.