Celtic ended up getting the result that was expected from a second bottom of the Premiership against top fixture.
But St Johnstone forced them to show the form of champions to do it.
Craig Levein’s side earned themselves a half-time lead thanks to DJ Jaiyesimi’s first goal for the club.
And they held on to that lead until the 67th minute.
By that point Celtic were moving through the gears in attack, however.
And star midfielders Callum McGregor and Matt O’Riley came up with a couple of stunning finishes to show for it.
It was the second defeat in successive weeks for the Perth team but another match that should actually make their fans feel better about their top-flight survival hopes.
Slow start again
Levein wasn’t pleased with the first 15 minutes of football produced by his team at Tynecastle last weekend.
This contest was even more one-sided in the early stages than the clash with Hearts.
It only took 48 seconds for Celtic to have a shot when Kyogo fired over the bar from just inside the box.
O’Riley squandered several good opportunities when these teams met in August and there was another one to add to the list here.
He didn’t get enough power on a close-range finish and it was an easy save for Dimitar Mitov, low to his right.
As against Hearts, though, Saints grew into the game after the slow start.
James Brown did well to snap into a tackle in midfield on 17 minutes.
The ball was then worked to Graham Carey on the edge of the box.
Celtic’s defenders prevented a shot from the Irishman but Saints were able to recycle the play and Jaiyesimi, starting as a lone striker, held off Liam Scales and forced a save out of Joe Hart after his shot took a slight deflection.
The Hoops had a goal disallowed shortly after but it wasn’t a controversial one.
Yang was clearly offside before he delivered a cross for David Turnbull.
The former Motherwell man tested Mitov with a left-foot 20-yarder midway through the half, with the Bulgarian international tipping it past the post.
Celtic lacked guile and speed in the final third and they were punished for it with five minutes left of the first 45.
Saints in front
Carey dropped an in-swinging corner into the six-yard box.
Neither Hart nor his outfield team-mates were able to deal with it and Jaiyesimi ended up forcing the ball over the line to put Saints 1-0 up.
That’s the way it stayed until half-time
Levein’s men started the second period pretty well but, after Carey hit the side-netting with a shot on the angle, Celtic raised the tempo.
It took a superb Mitov block with his right foot to deny Kyogo on 54 minutes when he was put through by McGregor.
Celtic got their equaliser midway through the half.
Brown would have been disappointed with the lack of power on a clearing header and Mitov had no chance of keeping out the sweetly struck McGregor first-time shot that followed it.
Mitov then pulled off a magnificent point-blank, reflex save from Kyogo, albeit the assistant referee ended up raising his flag for offside.
If McGregor’s goal was a good one, O’Riley’s to put Celtic in front was even better.
The visitors quickly turned defence into attack and the midfielder lashed a shot from just outside the box high past Mitov.
In stoppage time Saints nearly snatched a dramatic equaliser when a Jay Turner-Cooke header was saved by Hart.
And, to rub salt into the wound, the visitors broke up the pitch to score on the counter through James Forrest.
St Johnstone – Mitov 8, Brown 6, McGowan 7.5, Gordon 7, Carey 7, Jaiyesimi 7 (Kane, 73), Kucheriavyi 6 (Turner-Cooke, 73), Robinson 6.5, Smith 7, Phillips 7.5, Costelloe 7 (May, 87). Subs not used – Richards, Jephcott, Olufunwa, Sprangler, Ballantyne, Franczak.
Star man – Dimitar Mitov. This was another display that reaffirmed his credentials as one of the best goalkeepers in the league.