ST Johnstone and Celtic played as though all their players were breaking in new boots.

The longer they played, the sharper the finishing was and the more entertaining this game got. After more than 50 minutes there had been only one goal, which gave the home side a deserved lead and looked likely to give Celtic a surprise bloody nose. The champions recovered to avoid only their second defeat of the SPFL Premiership season, but satisfaction eluded them. Having built a 3-1 lead with six minutes left they tossed two points away.

The hard graft is done for Celtic and they will still be able to sleep at night despite failing to reach 100 SPFL Premiership points for the season. If they beat Dundee United on Sunday game they will reach 99. That is also the number of league goals they are on. Their makeshift starting team was sluggish and losing at half-time in Perth but manager Neil Lennon made changes, brought his captain and his top scorer off the bench, and looked to have turned the game around. Saints had enough about them to haul themselves off the canvas.

This was an unusual Saints-Celtic end-of-season game because it was the Perth team which has bigger fish to fry. They rested players, mindful of their first Scottish Cup final coming up in nine days. They did not play like a distracted team, though, nor one whose players were sparing themselves. They gave Celtic a shake in the opening seconds and were gritty and combative throughout. They created a handful of chances and harassed Celtic into giving the ball away.

The game was 30 seconds old when Michael O'Halloran rattled a low, long-range shot off the foot of Lukasz Zaluska's post. The goalkeeper was a deputy and Celtic's entire side had a second string look. Derk Boerrigter, Amido Balde and Teemu Pukki - three Celtic careers with the handbrake on - all started. Kris Commons, Leigh Griffiths and Anthony Stokes had terrorised Aberdeen at the weekend and were all left on the bench. Lennon made six changes and in the first half St Johnstone exploited the reduction of the champions' weaponry. When Lee Croft swung in a corner Steven Anderson nodded it back at the far post and Tim Clancy stuck out a leg to jab the ball into the roof of the net for the opener.

It was a reasonably mild evening until a couple of minutes before half-time, when the temperature in the home stands suddenly plummeted. Stevie May went in for a 50-50 challenge with Efe Ambrose near the centre circle and didn't get back up. A few thousand minds immediately thought of the cup final and panicked. May lay for a few seconds before eventually receiving treatment and hobbling a little as he left the field at half-time. He did not return, with Nigel Hasselbaink coming on. From that challenge when May was hurt the ball had broken to O'Halloran, who wormed his way through Celtic's defence again to confront Zaluska. He ought to have scored but shot over.

May had been as lively and hard-working as usual. Zaluska needed a strong hand to keep out a shot which could have surprised him at his near post. He made room for himself and fizzed a drive just past the post. If he hadn't finished the night with an injury he would have been kicking himself for not reaching his 28th goal of the season when he had a penalty a minute before going off. O'Halloran's dribbling run ended when Beram Kayal brought him down. May's penalty was okay, low and firm to the goalkeeper's left, but Zaluska produced a fine save.

When the clocks ticked past 50 minutes without a further goal there was no reason to suspect the machine-gun delivery of strikes this strange game would yet deliver. Commons levelled from the penalty spot and Celtic then surged ahead.

Mikael Lustig, sound on his first start for four months, crossed and Pukki dived at it but connected with his arm and put it over the bar. Instead of a goal he got a booking, but a few minutes later he redeemed himself with a stylish finish. Goalkeeper Alan Mannus punched a cross away but when Charlie Mulgrew returned it to the box, low and hard, Pukki connected smoothly to score. A Commons shot was then blocked but spun to Virgil van Dijk, whose lovely volley was too good for Mannus.

Celtic looked home and hosed, but St Johnstone would not be put away. Scott Brown whacked a long shot that took a deflection and flashed past the deceived Zaluska. A minute later Saints rallied again and when David Wotherspoon lashed a cross into the box O'Halloran enhanced his fine performance by heading the night's sixth and final goal. If only all end-of-season affairs had this much sparkle.