The biggest moment of St Johnstone’s season arrived when it was least expected.
With December dazzle conspicuous by its absence in a game that had 0-0 written all over it, the Perth side scored a dramatic winner deep into stoppage time.
Three-and-a-half minutes had been played of the four added on to the 90 when Liam Gordon was fouled in the box by Charles Dunne.
Up stepped Chris Kane, whose penalty was saved by Zach Hemming.
The St Mirren goalkeeper even got a hand to the rebound but he couldn’t keep it out and Saints had their second win under Craig Levein that lifted them above Aberdeen into 10th in the table and on the same points total as the side they face next, Motherwell.
This is a revival built on solid foundations.
Levein made just one change to his starting line-up following the weekend defeat to Celtic.
In came Tony Gallacher for his first start since the opening day of the league campaign, replacing Dara Costelloe at left wing-back.
After just 10 minutes, however, Levein was forced into another alteration.
Max Kucheriavyi was unable to continue having collided heavily with Scott Tanser a few minutes earlier and Sven Sprangler was the substitute who took his place.
Both teams struggled to find their rhythm early in the contest and it wasn’t until the 19th minute that a shot was struck at goal.
Matt Smith was the man who hit it after St Mirren only half-cleared a dangerous Gallacher cross.
But the Welsh international’s effort flew over the bar.
Midway through the half a moment of Dan Phillips carelessness nearly cost his team dearly.
He made a mess of moving the ball on at the edge of the box, was robbed by Jonah Ayunga and it required a perfectly timed Sprangler sliding tackle to prevent an almost certain St Mirren goal, with a subsequent Lewis Jamieson shot looping over the bar.
On the half-hour mark Phillips did get successfully Saints on the attack from deep in their own half and at the end of a nicely constructed move, Smith volleyed a Graham Carey cross straight into the arms of Hemming.
A bit less or a bit more on the finish and it would have been 1-0 to the hosts.
Carey had a shot himself soon after but his 25-yarder was also an easy one for Hemming to gather and the same was the case with a stoppage time free-kick from an inviting position on the edge of the box.
A goalless first half was followed by a glaring miss from St Mirren’s Greg Kiltie two minutes after the restart.
The Saints central defenders were caught ball watching when Mark O’Hara crossed from the right.
It resulted in a Kiltie free header inside the six yard box which he neither got the necessary power nor angle on to get it past Dimitar Mitov.
Seconds later Carey beat his man on the right and sent over a dangerous low cross that Gallacher came closest to connecting with.
DJ Jaiyesimi was struggling to get Saints up the pitch in second half and it was no surprise that Levein swapped him for Kane just after the hour.
Mitov hadn’t been required to make many saves but he produced an acrobatic one on 71 minutes to tip a long-range Dunne shot over.
A minute later St Mirren were cursing another glorious opportunity squandered.
Luke Robinson was dispossessed by Toyosi Olusanya whose half shot, half cross arrived at Mikeal Mandron.
With it easier to score than miss, the substitute smashed his effort off the post.
The mistakes were contagious.
At the other end, Alex Gogic let the ball get under his feet but Kane couldn’t capitalise and dragged his left foot shot on the angle wide.
He capitalised in stoppage time, though.
Kane has scored some very important goals for St Johnstone but this rebound effort from a saved penalty – his first of the season – was one of the most important.
Saints’ star man
Dan Phillips. Apart from his mistake in the first half, Phillips’ passing was top class.
St Johnstone – Mitov 7, Brown 6.5, Gallacher 6.5, McGowan 7, Gordon 7, Carey 7.5, Jaiyesimi 6 (Kane, 62), Kucheriavyi (Sprangler, 10), Robinson 6.5, Smith 7, Phillips 8. Subs not used – Richards, May, Jephcott, Olufunwa, Turner-Cooke, Costelloe, Franczak.