Match ends, St. Mirren 0, St. Johnstone 1.
Tony Watt scored a dramatic 89th-minute winner over St Mirren to push St Johnstone into the Scottish Premiership's top six.
The striker's header made the difference in a dire contest, in which both sides struggled to create chances.
The best until Watt's late goal was the hosts' Adam Hammill shooting wide in the first half.
St Johnstone, who lost Murray Davidson to injury in the first half, leapfrog Livingston into sixth.
The home side, fresh from beating Motherwell on Saturday, could not replicate the heroics they displayed at Fir Park.
St Mirren go into the final game of the year just two points above bottom-side Dundee.
St Mirren pay price for 'lacking end product'
This was a little cruel on St Mirren, but St Johnstone maintained their fabulous away record, making it five successive wins on the road.
This was a match that took an hour or so to come to life, with both sides cancelling each other out for large chunks of the game.
So much of the action was played out in the middle third of the pitch, with neither team possessing the creative spark to carve open the opposing defence.
But just when it looked as if it was heading for a stalemate, up popped Watt with the crucial intervention.
Scott Tanser found space on the left to whip in a precision cross and the striker was ideally placed to head the ball in from inside the six-yard box.
The visitors, in truth, should have been ahead moments before when David Wotherspoon knocked a header down to Chris Kane, who inexplicably turned it wide of a post from close range.
St Mirren paid the price for lacking an end-product. They were first to suggest they might have a winner in them when Paul McGinn was picked out just outside the six-yard box but the wing-back took a touch rather than shoot first time and Ross Callachan was able to get back to block.
Moments later Cammy Smith tried his luck from the edge of the box and was unlucky to see it deflected just off target.
But that was all they could muster in front of goal and the visiting Saints made them pay.

'St Johnstone back on the rails' - analysis
This was a victory ground out by St Johnstone but, after a couple of home defeats, it will be no less enjoyable for that.
Their fabulous away record will be the envy of teams further up the league and keeps them in the mix in the ultra-competitive top eight.
Watt's return to the scoresheet came at a crucial time and sets them up nicely for Saturday's Tayside derby against Dundee.
St Mirren's inconsistency comes back to haunt them again. They have yet to record back-to-back league victories this season and that is a key factor in their lowly league position.
They matched St Johnstone for most of this game but never really looked like repeating the weekend victory over Motherwell.
'A draw would have been fair' - reaction
St Mirren manager Oran Kearney: "I'm disappointed. I think overall a draw would have been a fair result and it would have helped us along the way.
"The thing I've been saying over the last couple of months is when we've been on it we're good but also when we haven't there's been certain bits of games when we're not so good."
St Johnstone manager Tommy Wright: "I think we deserved it. We created more chances and controlled large parts of the game but really pleased and great performance after losing two games.
"The one thing we've proved is we keep going till the end. We're trying to get Tony in the box more often and it's a great header from him that wins the game. That should do him a world of good."
Line-ups
St Mirren
Formation 3-4-1-2
- 26Lyness
- 15Baird
- 35Ferdinand
- 19Jones
- 2McGinn
- 4McGinn
- 21Hodson
- 39Erhahon
- 10SmithSubstituted forFlynnat 75'minutes
- 77Hammill
- 11JacksonSubstituted forBreadnerat 84'minutes
Substitutes
- 8Flynn
- 14Kirkpatrick
- 16McShane
- 25Rogers
- 27Edwards
- 36Jamieson
- 40Breadner
St Johnstone
Formation 4-4-2
- 1Clark
- 19Foster
- 5Shaughnessy
- 15Kerr
- 3Tanser
- 33KennedySubstituted forKaneat 78'minutes
- 8DavidsonSubstituted forCallachanat 16'minutesBooked at 53mins
- 26Craig
- 4Alston
- 32Watt
- 11SwansonSubstituted forWotherspoonat 69'minutes
Substitutes
- 6Anderson
- 9Kane
- 10Wotherspoon
- 16McMillan
- 23Gordon
- 28Callachan
- 30Hurst
- Referee:
- Kevin Clancy
- Attendance:
- 4,891
Match Stats
- Possession
- Home48%
- Away52%
- Shots
- Home7
- Away8
- Shots on Target
- Home1
- Away3
- Corners
- Home3
- Away6
- Fouls
- Home6
- Away11
Live Text
Post update
Full Time
Second Half ends, St. Mirren 0, St. Johnstone 1.
Goal!
Goal! St. Mirren 0, St. Johnstone 1. Tony Watt (St. Johnstone) header from very close range to the centre of the goal. Assisted by David Wotherspoon.
Post update
Christopher Kane (St. Johnstone) wins a free kick on the left wing.
Post update
Foul by Alfie Jones (St. Mirren).
Post update
Attempt blocked. Adam Hammill (St. Mirren) right footed shot from outside the box is blocked.
Substitution
Substitution, St. Mirren. Cameron Breadner replaces Simeon Jackson.
Post update
Attempt missed. Christopher Kane (St. Johnstone) right footed shot from the centre of the box is close, but misses to the right.
Post update
Christopher Kane (St. Johnstone) wins a free kick on the left wing.
Post update
Foul by Jack Baird (St. Mirren).
Post update
Attempt missed. Richard Foster (St. Johnstone) right footed shot from outside the box is close, but misses to the right.
Post update
Corner, St. Johnstone. Conceded by Ethan Erhahon.
Substitution
Substitution, St. Johnstone. Christopher Kane replaces Matthew Kennedy.
Post update
Attempt saved. Ross Callachan (St. Johnstone) header from the centre of the box is saved in the centre of the goal.
Post update
Corner, St. Johnstone. Conceded by Ethan Erhahon.
Substitution
Substitution, St. Mirren. Ryan Flynn replaces Cameron Smith.
Post update
Corner, St. Johnstone. Conceded by Dean Lyness.
Post update
Attempt saved. Richard Foster (St. Johnstone) right footed shot from the right side of the box is saved in the top centre of the goal.
Substitution
Substitution, St. Johnstone. David Wotherspoon replaces Danny Swanson.
Post update
Corner, St. Mirren. Conceded by Joe Shaughnessy.