St Johnstone 0-1 Dunfermline
St Johnstone 0 - 1 Dunfermline
Paul Gallacher made his second penalty save of the season as 10-man Dunfermline held on to beat St Johnstone at McDiarmid Park.
Andy Kirk fired the visitors in front from close range on 30 minutes in what was the Pars' only attack of note.
John Potter was sent off for a trip on Francisco Sandaza but Liam Craig saw his penalty well saved by Gallacher.
Despite being a man down for half an hour, Dunfermline were seldom troubled by a poor Saints side.
Last season's First Division champions remained undefeated in the top flight after draws against St Mirren and Inverness and extended an unbeaten league run in Perth to 16 years.
St Johnstone's failure to break down their well-organised opponents leaves them without a goal or a win since the season started.
In a lively opening on a lush green surface, St Johnstone had the ball in the net in the ninth minute when Carl Finnigan deflected Craig's free-kick into the net with his arm and was booked for his trouble.
Gallacher then had to react smartly to to keep out David McCracken's close-range header from Craig's inswinging corner.
The visitors snatched the lead when a well-worked short corner was shuttled to Jason Thomson on the edge of the box and his low shot was touched into the net by Northern Ireland international Kirk from six yards out.
Saints midfielder Craig, playing at left-back in the absence of the injured Callum Davidson, was again the source of the home side's attacking play seconds after the restart but Murray Davidson's looping header dropped the wrong side of the crossbar.
With both sides struggling to find a route to goal, Dunfermline came close to a second goal in the 60th minute when a header from former St Johnstone midfielder Martin Hardie slipped wide.
Half-time substitute Sandaza brought the match to life with a mazy run that ended when he was brought down by the trailing leg of Potter, who was red-carded for the foul.
With Sandaza asking manager Derek McInnes whether he should take the spot-kick, Craig stepped up and saw his effort smartly blocked by Gallacher.
Sandaza again looked a threat in the 71st minute as he found space in the Dunfermline box but his header from a Jody Morris chip was held on his line by Gallacher.
Saints substitute David Robertson flicked a header from Craig's corner just too high from a near-post position and, with nine minutes left, Gallacher again did well to hold a Davidson header.
And Saints' chances of salvaging anything from the match slipped away as Craig drove a late free-kick too high.
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +2:44
The ball is crossed by Carl Finnigan.90:00 +2:24
The ball is sent over by Murray Davidson, Austin McCann makes a clearance.90:00 +0:49
The ball is crossed by Liam Craig. Martin Hardie fouled by Murray Davidson, the ref awards a free kick. Free kick taken by Paul Gallacher.89:41
Foul by Francisco Sandaza on Martin Hardie, free kick awarded. Paul Gallacher restarts play with the free kick.89:08
Liam Craig produces a cross, David MacKay takes a shot. Jason Thomson makes a clearance.88:17
Centre by Jody Morris.85:22
Free kick awarded for an unfair challenge on Frazer Wright by Steven McDougall. Frazer Wright takes the direct free kick. Free kick awarded for a foul by Alex Keddie on Murray Davidson. The free kick is swung in left-footed by Liam Craig.82:23
David Graham takes a shot. David McCracken gets a block in.81:01
Murray Davidson takes a shot. Save by Paul Gallacher.79:16
The ball is sent over by Liam Craig, save made by Paul Gallacher.78:23
A cross is delivered by Kevin Moon.77:24
The ball is delivered by Jody Morris, Jason Thomson manages to make a clearance.75:04
Murray Davidson takes a shot. Save by Paul Gallacher.72:58
Inswinging corner taken from the right by-line by Liam Craig.71:54
David Graham fouled by David McCracken, the ref awards a free kick. Free kick crossed left-footed by Austin McCann from left wing, save made by Peter Enckelman.71:12 Substitution
Substitution David Robertson replaces Marcus Haber.70:09
Foul by Martin Hardie on Murray Davidson, free kick awarded. Liam Craig takes the direct free kick. Francisco Sandaza takes a shot. Save by Paul Gallacher.70:09 Booking
Booking The referee cautions Martin Hardie for unsporting behaviour.66:56 Substitution
Substitution Steven McDougall comes on in place of Joe Cardle.
Substitution David Graham replaces Andy Kirk.62:03
Inswinging corner taken from the left by-line by Liam Craig.62:03 Penalty
Penalty taken by Liam Craig is saved by Paul Gallacher. St Johnstone 0-1 Dunfermline.60:46
Foul by John Potter on Francisco Sandaza, Penalty awarded.60:46 Dismissal
Dismissal John Potter receives a red card for professional foul.58:14
Joe Cardle takes a shot. Murray Davidson gets a block in. Inswinging corner taken from the right by-line by Joe Cardle, David McCracken manages to make a clearance. Inswinging corner taken right-footed by Joe Cardle from the left by-line, Header from close range by Martin Hardie misses to the right of the goal.55:41
Free kick awarded for a foul by Andy Kirk on Marcus Haber. Peter Enckelman restarts play with the free kick.54:59 Substitution
Substitution Cillian Sheridan goes off and Francisco Sandaza comes on.53:47
Marcus Haber fouled by Austin McCann, the ref awards a free kick. David MacKay restarts play with the free kick.53:18
The assistant referee signals for offside against Marcus Haber. Paul Gallacher takes the indirect free kick.51:49
A cross is delivered by Kevin Moon, save made by Paul Gallacher.49:10
David McCracken challenges Andy Kirk unfairly and gives away a free kick. Austin McCann takes the direct free kick.47:46
Unfair challenge on Andy Kirk by Murray Davidson results in a free kick. Austin McCann restarts play with the free kick.47:46 Booking
Booking Murray Davidson booked for unsporting behaviour.46:15
Centre by Liam Craig, Murray Davidson produces a header from inside the six-yard box that clears the bar.45:13
Martin Hardie challenges Murray Davidson unfairly and gives away a free kick. Peter Enckelman takes the free kick.45:01
The second half begins.45:00 +0:53 Half time
Half Time The half-time whistle blows.43:55
Cillian Sheridan is ruled offside. Paul Gallacher takes the free kick.42:11
Free kick awarded for a foul by Andy Dowie on Carl Finnigan. Liam Craig restarts play with the free kick.42:11 Booking
Booking Andy Dowie shown a yellow card.39:55
Corner taken left-footed by Liam Craig, Andy Dowie makes a clearance.38:27
The assistant referee signals for offside against Andy Kirk. Free kick taken by Frazer Wright.35:23
Free kick awarded for an unfair challenge on Alex Keddie by Cillian Sheridan. Free kick taken by Paul Gallacher.33:56
Unfair challenge on Martin Hardie by Kevin Moon results in a free kick. Free kick taken by Joe Cardle.29:55
Corner taken short by Joe Cardle, Jason Thomson provided the assist for the goal.29:55 Goal scored
Goal! - Andy Kirk - St J'stone 0 - 1 Dunf'mline Andy Kirk fires in a goal from inside the six-yard box to the bottom left corner of the goal. St Johnstone 0-1 Dunfermline.29:02
Unfair challenge on Joe Cardle by Murray Davidson results in a free kick. Paul Gallacher takes the free kick.28:04
Carl Finnigan produces a right-footed shot from deep inside the penalty area which goes wide of the right-hand post.25:50
Andy Kirk is caught offside. Peter Enckelman takes the free kick.25:38
The ball is sent over by Marcus Haber, comfortable save by Paul Gallacher.24:55
Free kick awarded for an unfair challenge on Andy Dowie by Carl Finnigan. Paul Gallacher takes the free kick.23:42
The ball is crossed by Austin McCann, comfortable save by Peter Enckelman.22:24
The assistant referee signals for offside against Andy Kirk. Peter Enckelman takes the free kick.21:57
Marcus Haber is ruled offside. Paul Gallacher takes the indirect free kick.21:37
The ball is sent over by David MacKay, Joe Cardle makes a clearance.20:58
The ball is delivered by Liam Craig, save by Paul Gallacher.19:54
A cross is delivered by David MacKay, blocked by Gary Mason. Foul by David MacKay on Joe Cardle, free kick awarded. Paul Gallacher takes the direct free kick.18:37
Foul by Andy Kirk on Jody Morris, free kick awarded. Peter Enckelman takes the free kick.16:43
Marcus Haber takes a shot. Blocked by Austin McCann. Corner taken right-footed by Liam Craig.16:31
Martin Hardie sends in a cross, clearance by David McCracken.13:30
Corner taken by David MacKay from the left by-line, Martin Hardie makes a clearance.9:01
Inswinging corner taken left-footed by Liam Craig.7:14
Unfair challenge on Carl Finnigan by Gary Mason results in a free kick. Liam Craig restarts play with the free kick. Carl Finnigan is penalised for handball and concedes a free kick. Paul Gallacher takes the free kick.6:33
The ball is crossed by Alex Keddie, Peter Enckelman makes a save.5:55
Jason Thomson delivers the ball, clearance by David McCracken.4:13
Free kick awarded for a foul by Murray Davidson on Gary Mason. John Potter crosses the ball from the free kick right-footed from right channel, Frazer Wright manages to make a clearance.1:51
Martin Hardie fouled by Frazer Wright, the ref awards a free kick. Joe Cardle sends in a cross, Header on goal by Andy Kirk from inside the box goes harmlessly over the target.0:23
Free kick awarded for an unfair challenge on David McCracken by Martin Hardie. Free kick crossed right-footed by Peter Enckelman.0:04
David MacKay produces a cross, Paul Gallacher makes a save.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers