An 89th-minute goal from Steven Thompson settled a thrilling contest as the home side picked up their first win of the season at St Mirren Park.
- Related Content
The battle of the Saints had seen St Mirren go ahead on three occasions and miss a penalty before Thompson's late strike finally shook off St Johnstone's stubborn resistance and gave the hosts a 4-3 success.
With both sides coming into the game on the back of morale-boosting victories prior to the international break, there was little surprise that both managers elected to name the same starting line-ups for the second successive match.
For St Mirren, that meant youngster Sean Kelly retaining his place at left-back as manager Danny Lennon kept faith with the same system that earned the Buddies a victory against Hearts in their last outing.
For St Johnstone, Murray Davidson was left out of the squad as a series of niggling injuries continue to cause the Scotland squad man problems.
The breakthrough came for the home side after just seven minutes, and it was a deserved goal in keeping with their impressive start to the game.
A fine passing move through midfield saw Conor Newton knock the ball inside to Paul McGowan at the edge of the box, and his deft flick found Kenny McLean on his own in the middle of the area to coolly finish past Allan Mannus.
The goal belatedly brought St Johnstone to life after a sluggish start to the game, and their improved play was rewarded with the equaliser after 15 minutes.
Nigel Hasselbaink turned on the edge of the area to lose his marker and exchange passes with Stevie May, whose precise pass allowed Hasselbaink to fire the ball across goal where Steven MacLean was waiting at the back post to slam the ball home for his third goal in two games.
The second half started in scrappy fashion, but St Mirren hit the front again after 58 minutes to spark the game back into life.
A long pass along the surface from Lee Mair found McGowan inside the area, and while the St Johnstone defenders waited for an offside flag that never came, the midfielder produced a tidy finish past Mannus.
No sooner were the home side in front however than the visitors hit back.
A fine run down the right by Chris Millar saw him evade two St Mirren challenges before cutting back for Hasselbaink to finish well from 10 yards and draw his side level.
Play then raced back up the other end and St Mirren wasted a golden opportunity to go back in front, Mannus saving Jim Goodwin's penalty after McLean had been fouled in the area. The St Johnstone goalkeeper guessed correctly to save the home captain's spot-kick low to his left.
St Mirren were soon offered another chance to score from the spot however, as a high ball through saw McGowan in on goal before being hauled back by Frazer Wright. Referee Collum hesitated before awarding the spot-kick, and deciding that the defender had denied St Mirren a clear goalscoring opportunity, he flashed a straight red card in Wright's direction.
Tommy Wright immediately sent Tam Scobbie on for Hasselbaink before Rory Fallon replaced Gary MacDonald, and it was the former Aberdeen striker that soon drew St Johnstone level.
Stevie May sent a right-footed cross to the back post where Fallon slid in to equalise for the 10 men with the home defence static.
The drama was not over yet however, and another St Johnstone substitute, Paddy Cregg, had a less fruitful introduction to the action as his needless foul allowed St Mirren the chance to hang the ball up to the back post.
The ball was headed back across the area where Thompson was on hand to knock home the winner and send the home fans home exhausted - but happy.