Liam Millar’s 87th-minute goal ended Kilmarnock’s eight-game winless league run and keeps St Mirren bottom of the Scottish Premiership.
The substitute tapped in Eamonn Brophy’s cross – the first goal his side has scored in six matches.
Steve Clarke’s visitors, who struck the post through Brophy earlier in the second half, move within a point of third-placed Aberdeen.
St Mirren remain a point adrift of Dundee at the bottom.
The defeat is the first Oran Kearney’s side have suffered in four games.
Forgettable game produces late drama
With the rain teeming down, the first half was eminently forgettable, the play pedestrian and chances frugal.
St Mirren lost their captain Stephen McGinn to an injury sustained during the warm-up. Kyle McAllister was at the heart of their best forward raids, his involvement lacing flourishes of quality through a drab opening period. He lashed a volley narrowly wide and sent Simeon Jackson galloping towards goal, the striker drawing a comfortable save from Daniel Bachmann.
At the other end, Brophy’s cries for a penalty were waved away when he went down inside the St Mirren box. Ethan Erhahon had jabbed a boot towards the Kilmarnock striker as he shimmied and spun, and while there was contact it was not enough to flatten Brophy.
The Kilmarnock forward came close in the final throes of the first half, bending a fine, dipping free-kick just over the crossbar from around 25 yards out, and closer still six minutes into the second.
Jordan Jones made his first telling rampage up the left and cut the ball back for Brophy, who swivelled on to his left foot and crashed a shot of the post.
That seemed to raise the tempo and spark the game into life. Kilmarnock began to take control, but they couldn’t end their goal drought. They had another, stronger, shout for a penalty when Ryan Flynn caught Rory McKenzie as he attempted to control Stephen O’Donnell’s pass.
St Mirren almost hit their visitors on the break. Jackson was sent deep into the box where his effort was stopped by a brilliant block from Stuart Findlay on the slide, before Brophy thundered a second free-kick off-target at the other end.
The pattern continued. Kirk Broadfoot headed straight at Vaclav Hladky from a free-kick and off went St Mirren, another outstanding Findlay tackle winning the ball and levelling Jackson as the striker cocked his leg to shoot.
In the final 10 minutes, St Mirren rallied, having taken Kilmarnock’s punches and sensing they could land a telling shot of their own. A teasing Jackson corner evaded everyone when all it needed was a decisive touch, before the Canadian flicked Paul McGinn’s cross wide on the volley.
But it was Kilmarnock who struck the killer blow, Liverpool loanee Millar racing clear to knock Brophy’s ball home at the back post. A long-awaited, morale-boosting win for Clarke’s men. A devastating finale for Kearney’s.
Crafty Killie get their rewards – analysis
Livingston manager Gar Holt on BBC Sportsound
It was pleasing to see both sides upping their game in the second half. Killie just had that little bit of extra craft. They’re fourth in the table and the difference showed. On balance of play, they deserved it.
There’s a lot of positives for St Mirren. They had chances and lost to a last-minute goal against the team fourth in the league. If they get the same performance on Saturday against St Johnstone they could get the points.
- 28MacPhersonSubstituted forNazonat 65′minutes
- 23McAllisterBooked at 71mins
- 11JonesSubstituted forMillarat 79′minutes
- 25BrophySubstituted forTshibolaat 89′minutes
- 7McKenzieSubstituted forMcAlenyat 79′minutesBooked at 86mins
- Don Robertson
- Shots on Target
Match ends, St. Mirren 0, Kilmarnock 1.
Second Half ends, St. Mirren 0, Kilmarnock 1.
Corner, St. Mirren. Conceded by Greg Taylor.
Corner, St. Mirren. Conceded by Kirk Broadfoot.
Foul by Conor McAleny (Kilmarnock).
Mateo Muzek (St. Mirren) wins a free kick in the attacking half.
Substitution, Kilmarnock. Aaron Tshibola replaces Eamonn Brophy.
Goal! St. Mirren 0, Kilmarnock 1. Liam Millar (Kilmarnock) left footed shot from very close range to the centre of the goal. Assisted by Eamonn Brophy.
Stuart Findlay (Kilmarnock) wins a free kick in the attacking half.
Dangerous play by Jack Baird (St. Mirren).
Conor McAleny (Kilmarnock) is shown the yellow card for a bad foul.
Foul by Conor McAleny (Kilmarnock).
Duckens Nazon (St. Mirren) wins a free kick in the defensive half.
Attempt missed. Brad Lyons (St. Mirren) right footed shot from outside the box is close, but misses to the right.
Corner, St. Mirren. Conceded by Daniel Bachmann.
Attempt saved. Simeon Jackson (St. Mirren) right footed shot from the centre of the box is saved in the bottom right corner.
Corner, St. Mirren. Conceded by Stephen O’Donnell.
Attempt blocked. Kyle McAllister (St. Mirren) left footed shot from outside the box is blocked.
Substitution, Kilmarnock. Liam Millar replaces Jordan Jones.
Substitution, Kilmarnock. Conor McAleny replaces Rory McKenzie.
Attempt missed. Rory McKenzie (Kilmarnock) right footed shot from outside the box is just a bit too high following a corner.
Attempt blocked. Stuart Findlay (Kilmarnock) left footed shot from the centre of the box is blocked.
Corner, Kilmarnock. Conceded by Mateo Muzek.
Attempt blocked. Stephen O’Donnell (Kilmarnock) right footed shot from outside the box is blocked.
Attempt saved. Duckens Nazon (St. Mirren) right footed shot from outside the box is saved in the centre of the goal.
Foul by Eamonn Brophy (Kilmarnock).
Jack Baird (St. Mirren) wins a free kick in the attacking half.
Attempt blocked. Simeon Jackson (St. Mirren) right footed shot from the centre of the box is blocked.
Attempt saved. Kirk Broadfoot (Kilmarnock) header from the centre of the box is saved in the centre of the goal.
Kyle McAllister (St. Mirren) is shown the yellow card for a bad foul.
Chris Burke (Kilmarnock) wins a free kick in the defensive half.
Foul by Kyle McAllister (St. Mirren).
Hand ball by Brad Lyons (St. Mirren).
Substitution, St. Mirren. Duckens Nazon replaces Cameron MacPherson.
Attempt missed. Eamonn Brophy (Kilmarnock) right footed shot from outside the box is just a bit too high from a direct free kick.
Eamonn Brophy (Kilmarnock) wins a free kick in the attacking half.
Foul by Jack Baird (St. Mirren).
Jordan Jones (Kilmarnock) wins a free kick in the defensive half.
Foul by Paul McGinn (St. Mirren).
Ryan Flynn (St. Mirren) wins a free kick in the attacking half.