St Mirren goalkeeper Paul Gallacher tipped Chris Millar’s curling effort on to the bar and saved Collin Samuel’s strike in the first half as the hosts extended their unbeaten run to four.
Derek McInnes’ side have now lost once in their last eight games, but visitors St Mirren created little as they missed the opportunity to build on their 6-1 Scottish Cup success at Peterhead in midweek.
St Johnstone are now unbeaten in their last 12 games against the Buddies, who last won the battle of the Saints in August 2005.
But McInnes’ men will need to show more quality to break into the top six by the time of the SPL split, while Danny Lennon’s side showed the battling qualities which will be required to boost their survival bid in a scrappy encounter.
The hosts were looking for a third win of the season over St Mirren, having won the two previous SPL meetings, and entered the game in confident mood.
The Perth side had lost once in their previous seven matches – all but one of them away from home – and last week won at in-form Hearts in the Scottish Cup and drew with high-flying Killie at Rugby Park.
St Johnstone had the better of a poor first half.
After a Michael Higdon free-kick was blocked, Paddy Cregg thought he had been fouled by Dave Mackay on the edge of the area, but the Buddies were awarded only a corner which came to nothing.
St Johnstone then had a good spell of pressure, but failed to breach the visiting defence.
Mackay mis-kicked an effort following a short free-kick, before visiting goalkeeper Gallacher was called into action twice in quick succession.
Chris Millar saw his curling effort from the edge of the area tipped on to the top of the crossbar before the Buddies goalkeeper saved a Samuel strike low down to his left from the resulting corner.
Jim Goodwin and Michael Duberry then had to be separated after the St Mirren defender’s lunge on Steven Anderson which saw him booked.
Goodwin headed wide from a corner before Millar shot wide across goal at the other end as the first half ended in level.
Jure Travner’s long-range effort after 55 minutes was caught comfortably by Peter Enckelman, but was significant as the visitors’ first effort on target.
Steven Thomson sliced high and wide from Higdon’s lay-off soon after.
Sam Parkin was replaced by Liam Craig after 62 minutes as McInnes looked to inject fresh impetus into his side.
Samuel moved in from the left flank to join Peter MacDonald up front, with Craig cutting in from the left to support the strikers.
MacDonald fired tamely at Gallacher after Murray Davidson won the ball inside the visitors’ half as St Johnstone again failed to sufficiently test the goalkeeper.
McInnes brought off left-back Danny Grainger for forward Cleveland Taylor, while Danny Lennon also made a change with Craig Dargo coming on for Marc McAusland.
Craig shot over following a partially-cleared corner before Mair was booked for pulling down Taylor.
Samuel was replaced by Stevie May for the final three minutes before Thomson again sliced wide for St Mirren.
Enckelman held Goodwin’s long-range effort in stoppage time before May shot wide from a corner at the other end as the match ended goalless.