St Mirren 2 Livingston 1
St Mirren's returning international stars helped fire their Buddies up to third in the Premiership table.
The Saints weren't at their best but held firm before going ahead when Australian Keanu Baccus nodded the hosts in front as the game exploded into life late in the second half.
Striker Jonah Ayunga was given his marching orders when he deliberately handballed on the line, only for former St Mirren defender Sean Kelly to blaze the resulting penalty well over the bar.
The late drama didn't stop there, with Livi substitute Bruce Anderson netting what looked like being the equaliser with a poacher's finish.
The game still had another twist in the tale with Saints sub Alex Greive, who returned late from international duty with New Zealand, popping up with a decisive blow at the death to earn the hosts all three points.
Coupled with Hearts defeat to Rangers earlier in the day, in-form St Mirren's fifth win in six league games sent them up to the heady heights of third as Stephen Robinson's side continues to impress.
Marcus Fraser earned his 100th appearance in the stripes, slotting in at right wing back in place of Ryan Strain who returned from international duty with Australia with a knock.
Playmaker Greg Kiltie came into the starting line-up in place of injured striker Curtis Main, who missed out altogether, with Alex Gogic coming in at centre back.
There was an early scare for St Mirren as the treacherous wind swirling around the SMISA Stadium almost led to the opener within two minutes of kick-off. Joel Nouble curled an effort towards the back post that almost dropped under the bar, with Trevor Carson pulling off a reflex save to tip over to safety.
The blustery conditions were wreaking havoc at both ends, with Livi keeper Shamal George only confident enough to punch Scott Tanser's swerving corner as far as Alex Gogic. The Cypriot blasted over the bar with the goal at his mercy.
Livi winger Dylan Bahamboula was looking lively on the right side. He burst past Scott Tanser before firing a dangerous low shot across goal that Carson tipped around the post.
Both sets of players were struggling to get to grips with the slippery surface and the gusting wind, with Livi arguably edging the opening 20 minutes.
Saints defender Fraser headed narrowly past his own goal as Jason Holt's free-kick swirled towards the near post, with clear cut chances increasingly at a premium in Paisley.
Livi should have broken the deadlock on the half hour mark when a simple through ball was missed altogether by centre back Charles Dunne. Scott Pittman was clean through but Carson stood up strongly, blocking his shot brilliantly to keep the scores level.
Gogic was extremely fortunate to avoid a booking after slicing down Nouble on the left wing, with referee Craig Napier not even awarding the livid visitors a free-kick. Seconds later it was St Mirren we were feeling aggrieved with the officials when Sean Kelly escaped a booking for clattering into Ayunga.
The first half was increasingly attractional as the clock ticked down to half-time, with both sides struggling to keep possession and cut their way through the opposing defence.
The Lions came racing out of the traps at the start of the second half. Bahamboula coasted past Tanser far too easily on the right wing before blasting a shot at the near post which Carson blocked well with his left foot.
Defender Ayo Obileye should have done much better at the back post when he connected with Jason Holt's deep free-kick, heading well over the bar with keeper Carson out of position.
Despite being under pressure St Mirren had a glorious chance to take the lead when a clearance from Carson sent Ayunga running in behind the retreating Livi defence. The striker took too long to make his mind up, with the chance eventually fizzling out to nothing.
Centre back Declan Gallagher was the first player into the book for a cynical challenge on Nouble as the striker looked to burst into the final third, with the away side continuing to press for a winner.
Stephen Robinson knew changes had to be made and he turned to striker Alex Greive and wing back Ryan Strain, who were both away on international duty with New Zealand and Australia respectively, to turn the tide in St Mirren's favour with half an hour left on the clock.
Strain only lasted five minutes though, with the knock that had kept him from starting flaring up almost immediately. The Aussie was replaced by experienced head Ryan Flynn.
And the utility man made an immediate impact. Collecting a throw-in in acres of space, he curled a superb cross into the box to pick out Baccus who expertly nodded into the far corner past a sprawling George.
Joe Shaughnessy made his return to the pitch from the bench late on, replacing Baccus who went off to a hero's ovation
St Mirren were looking comfortable but almost gift-wrapped Livi an equaliser when striker Ayunga turned goalkeeper to save Pittman's goal-bound shot with his hand.
He had no complaints as he was sent for an early bath, with Sean Kelly blasting over from the spot - much to the relief and joy of the home support.
It was a case of hanging on for the last ten minutes for Saints, with Shaughnessy and Gallagher both heading away dangerous crosses as Livi desperately sought a leveller.
The visitors were knocking on the door and it was substitute Bruce Anderson who made the breakthrough, meeting Nouble's pinpoint cross to fire past Carson.
The Buddies were far from content to sit in and play for the draw. Tanser's free-kick from a dangerous area drew a superb save from George, but the keeper was powerless to stop the Buddies taking the lead just a minute later.
A deep corner dropped to Shaughnessy, and while his shot was blocked the ball bobbled to Greive who slammed home to put his side ahead.
There were late scares for the home side, not least when Anderson's sweet volley looked to have been creeping into Carson's far corner in the last attack of the match, but Robinson's men held firm to bag all three points.
READ MORE:
Don't miss the latest headlines from around Renfrewshire. Sign up to our newsletters here