The Hoops midfielder, signed from Maccabi Haifa last summer, struck in added time in the first half at McDiarmid Park to give Neil Lennon's side a deserved interval lead which they never looked like losing.
Saints survived a controversial penalty claim in the 85th minute when substitute Michael Duberry appeared to handle the ball twice in the box as he lay on the ground but referee Iain Brines surprisingly took no action.
Had the home side somehow managed to grab an equaliser no doubt more would have been made of that decision but as it was Celtic saw the game out and put pressure on to the champions who play Aberdeen at Pittodrie on Wednesday night.
Celtic boss Lennon, who returned to the dugout for the first time following a five-match touchline ban, took the acclaim of the travelling support at the end realising his side are again in the driving seat in the title race.
Lennon had earlier sprung a surprise by naming Daryl Murphy in his side.
The burly Irish striker had not featured since February 1 at Aberdeen but was paired with Georgios Samaras in attack as Celtic tried to overcome a poor playing surface by adopting a more direct approach.
Celtic skipper Scott Brown returned to midfield while Mark Wilson came back in at right back, both having been rested for the win over St Mirren at the weekend.
Saints boss Derek McInnes had one eye on Saturday's Scottish Cup semi-final with Motherwell at Hampden when he named his side, leaving key players Duberry and Chris Millar on the bench.
Rather bizarrely, moments after the game began referee Brines had to call a halt when several balls bounced on to the pitch after coming from outside the stadium, as Celtic fans held up banners protesting about the six o'clock kick-off.
Murphy set up Samaras a couple of times in the early stages with headers but the Greek striker failed to take advantage.
However, in the 10th minute Saints keeper Graeme Smith made a decent save down at his right-hand post from Kris Commons' free-kick, awarded when Graham Gartland fouled Murphy.
Six minutes later, as the visitors pressed again, Commons volleyed over the bar from distance with Smith out of his goal after the keeper had come out to punch clear, before making a save from a Samaras header.
The visitors were firmly in control in the 25th minute and Murphy should have scored with a free header from a Charlie Mulgrew corner but the former Sunderland striker somehow missed the target from six yards.
On the half-hour mark Samaras had a great chance when he was set up by Brown inside the box but Smith made a good block from the former Manchester City striker's side-footed effort.
There was fury in the St Johnstone dugout when referee Brines refused to give a free-kick at the edge of the box when Brown tangled with Stevie May but that soon subsided as a brief spell of pressure from the home side came to an end.
But there was to be a sting in the tail for the Saints just as they believed they had survived the first 45 minutes. In the first minute of added time Brown flicked the ball on to Kayal who got the break of the ball inside the box before he knocked it past Smith with the outside of his foot.
Kayal's goal had changed the complexion of the game and St Johnstone looked a little more urgent at the start of the second half.
McDiarmid Park midfielder Murray Davidson was replaced in the 50th minute by Chris Millar but the SPL leaders retained their grip on the game.
The tempo dipped for a spell with neither side offering much in attack and neither keeper was seeing much action although Smith made a comfortable save from Commons' long-distance effort in the 62nd minute.
A minute later at the other end, Fraser Forster made a fine save from Liam Craig's 25-yard drive, the Celtic keeper diving to his left to push the shot round the post for a corner which came to nothing, before Duberry replaced Saints defender Dave Mackay.
St Johnstone's Danny Grainger was booked following his late challenge on Mark Wilson before Hoops' defender Emilio Izaguirre picked up a caution for catching Cleveland Taylor.
With 10 minutes remaining, Saints substitute Millar walked off the pitch appearing to have picked up an injury leaving the Perth men, who had used all three replacements, to play out the rest of the match with 10 men.
There was a moment of controversy five minutes from the end Duberry fell on the by-line under pressure from Samaras and appeared to grab the ball twice.
However, Brines, looking bemused, waving play on as the Celtic players and supporters roared for what looked to be an obvious penalty.
Brown cracked the bar with a drive in the 88th minute and from the rebound, Shaun Maloney, on for Commons, headed towards goal but Smith got back to claw the ball away on the line but the second goal was not needed.