Match ends, Livingston 0, St. Johnstone 1.
St Johnstone earned a third straight Scottish Premiership win for the first time in 14 months to end Livingston's eight-match unbeaten league run.
Matty Kennedy's fifth-minute goal, sliding home Tony Watt's precise cross, proved enough to take the points.
Tommy Wright's side remain in seventh but victory lifts them to within a point of Livingston, who drop to sixth.
The hosts' best chances were a Scott Pittman effort and a Steven Lawless' volley that was deflected over.
Defeat was their first at home in the league this season, and only a second in 10 matches on their return to the top flight.
Watt's not to like?
Watt received his fair share of stick for missing both a penalty and a sitter in St Johnstone's weekend victory over St Mirren, yet the Scotland cap certainly showed his value as they became the first side to beat Livingston in the league since Celtic on the opening day of the season.
The former Celtic striker's goal drought continued into an eighth game, but he was a live-wire all night.
Watt combined skill and physical power to bundle his way into the box and set up the goal for Kennedy, who he linked up with nicely throughout.
On other occasions, such as when he skinned Alan Lithgow down the right, it was Watt's pace that shone through - a constant menace to a Livingston back three who are no strangers to stout defending.
Holt faces new challenge - analysis
Livingston have deservedly had plenty of credit for the brilliant start they have made to their first season back in the top flight. Yet, on 18 points, they are now only one ahead of St Johnstone, whose campaign has gone relatively under the radar until now.
But three consecutive wins - and three straight clean sheets - have propelled them into a healthy position, another reminder of the consistently good work being done by Wright and company in Perth.
Gary Holt has worked wonders for Livi and he declared beforehand that "people are waiting for us to fail". His challenge now is to rally his men again after a rare defeat.
'No bones about it, we were rubbish' - reaction
Livingston manager Gary Holt: "Let's not make any bones about it - we were rubbish. We didn't start well and we're really poor. It's a blip and these things happen. It's one game and we'll take it on the chin."
St Johnstone manager Tommy Wright: "Not bad for a team that Kris Commons described as boys [on Tuesday's Sportsound]. I hope he's listening because he was totally disrespectful to us. We knew we had to come here and show character. Three wins on the bounce and 17 points from 11 games is a great return for us."
Line-ups
Livingston
Formation 3-5-2
- 1Kelly
- 31Gallagher
- 26HalkettBooked at 84mins
- 4Lithgow
- 15LawlessSubstituted forKajaat 71'minutes
- 8PittmanBooked at 33mins
- 6Byrne
- 7JacobsSubstituted forSibbaldat 78'minutes
- 3Lamie
- 45MengaBooked at 57mins
- 17RobinsonSubstituted forBurnsat 69'minutes
Substitutes
- 2McMillan
- 10Sibbald
- 14Kaja
- 19Burns
- 21Stewart
- 30Hamilton
- 33Lawson
St Johnstone
Formation 3-4-1-2
- 1Clark
- 5Shaughnessy
- 15Kerr
- 23Gordon
- 19FosterBooked at 21mins
- 8Davidson
- 26Craig
- 3TanserBooked at 90mins
- 10WotherspoonSubstituted forCallachanat 81'minutes
- 32WattSubstituted forKaneat 78'minutes
- 33KennedySubstituted forWrightat 86'minutes
Substitutes
- 7Wright
- 9Kane
- 11Swanson
- 16McMillan
- 17Nydam
- 28Callachan
- 30Hurst
- Referee:
- John Beaton
- Attendance:
- 1,476
Match Stats
- Possession
- Home54%
- Away46%
- Shots
- Home2
- Away3
- Shots on Target
- Home1
- Away1
- Corners
- Home3
- Away2
- Fouls
- Home13
- Away11
Live Text
Post update
Full Time
Second Half ends, Livingston 0, St. Johnstone 1.
Booking
Scott Tanser (St. Johnstone) is shown the yellow card.
Post update
Declan Gallagher (Livingston) wins a free kick on the right wing.
Post update
Foul by Jason Kerr (St. Johnstone).
Post update
Foul by Craig Sibbald (Livingston).
Post update
Joe Shaughnessy (St. Johnstone) wins a free kick on the right wing.
Substitution
Substitution, St. Johnstone. Drey Wright replaces Matthew Kennedy.
Booking
Craig Halkett (Livingston) is shown the yellow card for a bad foul.
Post update
Foul by Craig Halkett (Livingston).
Post update
Ross Callachan (St. Johnstone) wins a free kick in the attacking half.
Post update
Attempt missed. Craig Sibbald (Livingston) left footed shot from outside the box misses to the right.
Substitution
Substitution, St. Johnstone. Ross Callachan replaces David Wotherspoon.
Post update
Christopher Kane (St. Johnstone) wins a free kick on the right wing.
Post update
Foul by Ricki Lamie (Livingston).
Substitution
Substitution, Livingston. Craig Sibbald replaces Keaghan Jacobs.
Substitution
Substitution, St. Johnstone. Christopher Kane replaces Tony Watt.
Post update
Keaghan Jacobs (Livingston) wins a free kick in the defensive half.
Post update
Foul by Matthew Kennedy (St. Johnstone).
Substitution
Substitution, Livingston. Egli Kaja replaces Steven Lawless.