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.