St Johnstone 2 Celtic 1
Leigh Griffiths grabbed his 40th goal of the season but finished up on the losing side as St Johnstone came from behind to beat Celtic 2-1 in their Ladbrokes Premiership clash at McDiarmid Park.
After a goalless first-half, the Scotland striker opened the scoring eight minutes after the break with a clever run and close-range finish but the champions then contributed significantly to their own downfall.
Two minutes later, Saints striker Steven MacLean robbed Parkhead midfielder Stefan Johansen outside the box to level before a mix-up between defender Efe Ambrose and stand-in goalkeeper Logan Bailly in defending a cross in the 77th minute allowed substitute Graham Cummins to shoot into an empty net to ultimately clinch their fourth-placed finish.
Griffiths became the first Celt to reach the 40-goal mark since Henrik Larsson in 2004 but is suspended for the last game of the season at home to Motherwell on Sunday, where departing Ronny Deila will look for his side to tighten up before he leaves for pastures new.
Saints, as they should, will celebrate their fourth post-split victory.
Deila reshuffled his squad as expected with Bailly, defenders Saidy Janko and Emilio Izaguirre and midfielder Scott Allan given rare starts. In the case of attacker Ryan Christie, it was his first start after four substitute appearances following his arrival from Inverness in January.
The home side applauded the champions on to the pitch then set about preventing them getting into any sort of rhythm.
However, in the 15th minute only a fine save from Saints keeper Zander Clark prevented Griffiths heading in a Christie cross at the back post.
Tommy Wright's men had a couple of half-chances.
After Bailly was penalised for sliding out the box with the ball in his hands, Liam Craig's free-kick ended up at the other side of the penalty area where Brian Easton's shot was blocked in a packed six-yard box.
Moments later, as the Perth men broke, Chris Kane's low angled-drive flew the other side of the far post.
A few crunching tackles had brought more tension to the game than perhaps the fixture warranted.
However, there was plenty of genuine excitement in the 53rd minute when Johansen played in Griffiths and he eased past Saints defenders Tom Scobbie and Joe Shaughnessy before knocking it past Clark with his left foot, then racing behind the goal to celebrate with the travelling fans.
However, two minutes later the home side drew level with a gifted goal when dithering Johansen was caught in possession by MacLean, who went through to cleverly chip Bailly for his 15th goal of the season.
The Norwegian held his hand up in acknowledgement of his mistake and he was soon replaced by Nir Bitton with 17-year-old defender Anthony Ralston replacing Janko in the 73rd minute to make his Hoops debut.
Celtic had not finished with mistakes.
Shaughnessy's cross from the right saw Ambrose and Bailly collide with Cummins, on for MacLean, gleefully knocking the ball into the empty net.
Celtic tried to come back but in the two minutes added time Clark made a double save, first from Callum McGregor and then Christie to secure the points.