St Johnstone claimed victory against Inverness in what could be manager Derek McInnes's last match in charge.
McInnes, who is to be interviewed for the vacant Bristol City job, watched on as Francisco Sandaza fired the hosts in front on 12 minutes.
Dave MacKay doubled the advantage 20 minutes into the second half, the defender finishing with his left foot.
Inverness could not find a way back into the match and they remain bottom of the Scottish Premier League.
The opener came in the 13th minute after Sandaza collected the ball just inside the Inverness half and fed Cillian Sheridan on the left wing.
Sheridan returned the ball to his strike partner on the edge of the area with a lofted pass and the Spaniard chested it down, shrugged off a defender and shot high into the net with his left foot.
Sandaza engineered another chance when his skill took him away from two men following Liam Craig's low cross, but goalkeeper Ryan Esson was quickly off his line to block the striker's close-range effort.
The forward pairing was split up in the 20th minute when Marcus Haber replaced the injured Sheridan.
Caley Thistle midfielder Greg Tansey fired in two decent long-range strikes, but neither forced goalkeeper Peter Enckelman into action and Andrew Shinnie curled an effort just over from a difficult angle.
Enckelman made his first save to guide David Proctor's header over following a corner, but St Johnstone survived the spell of pressure and should have gone further ahead in stoppage-time after a sweeping move from deep inside their own half.
Mackay and Chris Millar linked up brilliantly on the right to set up Haber 12 yards out, but the striker scuffed his shot against the post and Thomas Piermayr blocked as Craig followed up.
The Perth side came out eager to add to their tally and Esson got down well to save Mackay's drive after Chris Millar had fed his forward run.
Inverness should have been further behind when Kevin Moon ran unmarked on to Craig's cross, but the midfielder sliced his first-time effort over.
The second came when Sandaza put Esson under pressure from Morris's right-wing cross and the ball fell for Mackay, who sent a first-time left-footed effort into the bottom corner from 14 yards.
Foran almost pulled one back with a brilliant 20-yard strike, but Enckelman pushed it on to the bar and over and Saints held on to their lead comfortably to move one point behind Celtic in the Scottish Premier League.
- 01 Enckelman
- 02 MacKay
- 03 Davidson
- 05 Wright
- 06 Anderson
- 04 Morris
- 07 Millar Booked
- 10 Craig Booked
- 14 Moon (Davidson - 64' )
- 11 Sheridan (Haber - 20' )
- 21 Sandaza (Gibson - 81' )
- 15 Mannus
- 25 Durnan
- 26 Caddis
- 08 Davidson
- 22 Gibson
- 27 May
- 23 Haber
- 01 Esson
- 03 Tokely
- 14 Proctor Booked
- 19 Shinnie
- 02 Piermayr
- 08 Tansey
- 10 Shinnie (McKay - 74' )
- 11 Ross (Chippendale - 58' )
- 25 Davis
- 09 Foran
- 15 Tade (Sutherland - 56' )
- 12 Tuffey
- 22 Gillet
- 26 Meekings
- 06 Cox
- 20 Chippendale
- 18 Sutherland
- 21 McKay
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +3:00
Centre by David Davis.89:42
The ball is swung over by Murray Davidson, blocked by Ross Tokely. Jody Morris produces a right-footed shot from outside the penalty box and misses wide left of the target.86:03
Marcus Haber takes a shot. Save made by Ryan Esson.84:19
Outswinging corner taken left-footed by Graeme Shinnie from the left by-line, Richie Foran concedes a free kick for a foul on Frazer Wright. Peter Enckelman takes the free kick. Peter Enckelman makes a save.83:25
Free kick awarded for a foul by Marcus Haber on Aidan Chippendale. Indirect free kick taken by Ryan Esson.82:22
Murray Davidson produces a right-footed shot from just outside the box that goes wide left of the goal.81:49
Richie Foran challenges Chris Millar unfairly and gives away a free kick. Peter Enckelman takes the free kick.81:00 Substitution
Substitution William Gibson replaces Francisco Sandaza.79:02
Shane Sutherland crosses the ball.76:13
Free kick awarded for a foul by Ross Tokely on Murray Davidson. Jody Morris takes the free kick, David MacKay takes a shot. David Davis gets a block in. Corner taken by Liam Craig from the left by-line, clearance by Ross Tokely.75:41
The referee blows for offside. David MacKay takes the free kick.74:50
A cross is delivered by Thomas Piermayr, Peter Enckelman makes a save.72:55 Substitution
Substitution William McKay joins the action as a substitute, replacing Andrew Shinnie.72:55
Free kick awarded for an unfair challenge on David MacKay by Richie Foran. Peter Enckelman takes the free kick.71:40
Unfair challenge on Shane Sutherland by Jody Morris results in a free kick. Free kick taken by Ryan Esson. Steven Anderson concedes a free kick for a foul on Richie Foran. Graeme Shinnie takes the free kick.69:04
Aidan Chippendale takes a shot. Peter Enckelman makes a save. Corner from right by-line taken by Andrew Shinnie.68:33
Aidan Chippendale sends in a cross, clearance made by Steven Anderson.64:21 Goal scored
Goal! - David MacKay - St J'stone 2 - 0 Inverness David MacKay finds the net with a goal from inside the penalty box to the bottom left corner of the goal. St Johnstone 2-0 Inverness CT.64:18
Jody Morris sends in a cross, save by Ryan Esson.
Substitution Kevin Moon leaves the field to be replaced by Murray Davidson.63:00
Free kick awarded for an unfair challenge on David MacKay by Andrew Shinnie. Indirect free kick taken by Peter Enckelman.62:34
Marcus Haber sends in a cross, Ross Tokely gets a block in.61:40
A cross is delivered by Liam Craig, Close range shot by Kevin Moon clears the bar.60:06
Free kick awarded for an unfair challenge on Aidan Chippendale by Chris Millar. Indirect free kick taken by Aidan Chippendale.58:19
Greg Tansey produces a left-footed shot from just outside the area that goes harmlessly over the bar.57:34
Marcus Haber takes a shot. Ryan Esson makes a save.57:16 Substitution
Substitution (Inverness CT) makes a substitution, with Aidan Chippendale coming on for Nick Ross.56:54
The assistant referee signals for offside against Francisco Sandaza. Indirect free kick taken by Ross Tokely.56:43
The ball is delivered by Thomas Piermayr.55:22 Substitution
Substitution Shane Sutherland joins the action as a substitute, replacing Gregory Tade.52:53
Andrew Shinnie crosses the ball.48:27
Shot from inside the area by Francisco Sandaza clears the bar.47:37
David MacKay takes a shot. Save by Ryan Esson.45:51
Frazer Wright challenges Gregory Tade unfairly and gives away a free kick. Graeme Shinnie takes the free kick.45:01
The referee blows his whistle to start the second half.45:00 +2:06 Half time
Half Time The first half comes to an end.45:00 +0:44
Liam Craig has an effort at goal from close range which goes wide of the left-hand upright. Outswinging corner taken by Liam Craig from the left by-line.43:25
Gregory Tade challenges Frazer Wright unfairly and gives away a free kick. Indirect free kick taken by Frazer Wright.42:06 Booking
Booking The referee cautions Liam Craig for unsporting behaviour.41:48
Greg Tansey fouled by Liam Craig, the ref awards a free kick. Ryan Esson restarts play with the free kick.38:30
Outswinging corner taken by Graeme Shinnie from the left by-line. Pass corner from left by-line taken by Graeme Shinnie to short.37:42
Free kick awarded for an unfair challenge on Richie Foran by Callum Davidson. Free kick crossed right-footed by Andrew Shinnie from right wing.36:36
Liam Craig crosses the ball.35:44
Andrew Shinnie has an effort at goal from the edge of the area that misses to the right of the target.31:34
David Davis takes the indirect free kick. Greg Tansey has an effort at goal from outside the box which misses left. Corner taken left-footed by Graeme Shinnie from the left by-line, Kevin Moon makes a clearance.31:34 Booking
Booking Chris Millar is cautioned.31:26
Chris Millar challenges Gregory Tade unfairly and gives away a free kick.30:37
Ross Tokely gives away a free kick for an unfair challenge on Marcus Haber. Free kick taken by Liam Craig.29:31 Booking
Booking David Proctor shown a yellow card.29:22
David Proctor challenges Marcus Haber unfairly and gives away a free kick. David MacKay takes the indirect free kick.27:50
Foul by David Davis on Kevin Moon, free kick awarded. Liam Craig takes the free kick.26:33
Foul by Marcus Haber on David Proctor, free kick awarded. Free kick taken by Ross Tokely.21:49
The assistant referee signals for offside against Marcus Haber. Indirect free kick taken by Ryan Esson.20:22
The assistant referee signals for offside against Marcus Haber. David Proctor takes the free kick.19:37 Substitution
Substitution Marcus Haber replaces Cillian Sheridan.17:35
Outswinging corner taken left-footed by Liam Craig from the left by-line.15:58
Foul by David Proctor on Cillian Sheridan, free kick awarded. Free kick crossed left-footed by Liam Craig from left wing. Outswinging corner from right by-line crossed in by Jody Morris, Thomas Piermayr gets a block in.13:48
The assistant referee signals for offside against Callum Davidson. Ryan Esson restarts play with the free kick.12:00
The assist for the goal came from Cillian Sheridan.12:00 Goal scored
Goal! - Francisco Sandaza - St J'stone 1 - 0 Inverness Francisco Sandaza grabs a goal from deep inside the penalty box high into the middle of the goal. St Johnstone 1-0 Inverness CT.8:15
Outswinging corner taken right-footed by Andrew Shinnie from the right by-line.5:48
Unfair challenge on Richie Foran by Frazer Wright results in a free kick. Free kick crossed by Andrew Shinnie.3:27
Frazer Wright gives away a free kick for an unfair challenge on Gregory Tade. Free kick taken by Thomas Piermayr.2:45
Greg Tansey concedes a free kick for a foul on Kevin Moon. Peter Enckelman takes the indirect free kick.1:40
Corner crossed in by Liam Craig.0:20
The assistant referee flags for offside against Francisco Sandaza. Ross Tokely takes the indirect free kick.0:00
The match gets underway.
Live data and text provided by our data suppliers