Jim McIntyre's unbeaten run in charge of Dunfermline came to an end as St Johnstone made ground at the top end of Division One.
Pars striker Mark Burchill blazed a first half penalty over the crossbar.
And the only goal came on the stroke of half time when Stephen Milne slipped the ball through to Andy Jackson to finish accurately in the bottom corner.
The Pars came within an inch of equalising when Jim Hamilton's header crashed back off the bar.
St Johnstone's Dyron Daal and Dunfermline's Danny Murphy were given red cards in the referee's room after the match due to an altercation at the final whistle.
Dunfermline: Gallacher, Scott Thomson, Murphy, Simmons, Harris (Crawford 75), Wilson, Ross (McIntyre 58), Young (Harper 46), Burchill, Hamilton, Scott Morrison. Subs Not Used: McManus, Murdoch.
St Johnstone: Main, Irvine, Stanic, Cameron, Rutkiewicz, Anderson, MacDonald, Craig, Jackson, Milne, Sheerin (McManus 70). Subs Not Used: Weatherston, Daal, McInnes, Cuthbert.
Goals: Jackson 44.
Ref: J Underhill