The winning margin would have been greater had Brian Graham, who scored the opening goal, not spurned a number of opportunities at McDiarmid Park.
With the mid-table split just a handful of weeks away, the result gives the hosts breathing space of five points over seventh placed Dundee who have played one game less.
The hosts dominated the early stages with Michael O’Halloran, Frazer Wright and Graham all trying their luck against out-of-sorts St Mirren.
Graham continued to cause problems for the visitors as the half continued, firing narrowly wide on 23 before heading inches past the same post four minutes later.
But his persistence was duly rewarded in the 33rd minute when he opened the scoring from 12 yards after collecting David Wotherspoon’s long ball assist.
In a rare effort on goal for the visitors, James Dayton clipped a shot just wide on 50 while – at the other end – Graham almost added a second when he missed by inches with a diving header.
The home Saints continued to dominate and Steven Anderson headed narrowly off target with the second half just 12 minutes old.
Eventually, the second St Johnstone goal did arrive when Wotherspoon’s corner was headed home from close range by Anderson shortly after the hour mark.
St Mirren nearly pulled a goal back through striker Steven Thompson, but his fierce shot was well saved by Alan Mannus who pushed the ball over the bar.
Thompson went close again with a header eight minutes from time but the hosts safely saw the game out with plenty to spare.