St Johnstone kept up their chase for a European place and all but ended St Mirren's chances of a top-six finish with a classy victory in Paisley.
Lee Croft fired Steve Lomas' side in front after only two minutes with a long-range effort.
Defender David McCracken hit the second from close range after goalkeeper Craig Samson failed to deal with a corner.
The third goal arrived in the closing stages when Francisco Sandaza slid the ball under the home goalkeeper.
Croft made St Mirren pay for some slack defensive play in the second minute as he picked up the ball 25 yards from goal and cracked a shot past home number one Samson.
Referee Bobby Madden was not slow to bring out his book as he yellow-carded St Mirren defender Lee Mair for a foul on Fran Sandaza before Samson gathered Liam Craig's free-kick at the second attempt.
St Johnstone central defenders Frazer Wright and David McCracken were also booked by the busy official as tackles flew in.
The home side were finally starting to find their rhythm and Graham Carey blazed a free-kick over the bar with 15 minutes gone.
However, chances remained few and far between for the remainder of the opening period and the Perth team went in at the break with their advantage intact.
St Mirren were struggling to find an end product to their build-up play and that remained the case in the early stages of the second half.
Paul McGowan played a 40-yard crossfield pass into the path of Gary Teale, but the St Mirren winger's cross-come-shot was wayward with Nigel Hasselbaink and Dougie Imrie lurking in the penalty area.
However, St Johnstone were still a threat and striker Sandaza raced through on goal, only for Samson to thrust out his left hand to deny the Spaniard.
The Paisley side were looking to their goalscoring midfielders to help in the chase for an equaliser and Carey sent an effort from 25 yards past the post.
Further opportunities fell to St Johnstone's Sandaza before Croft played in Murray Davidson with a backheel. His shot was stopped by Samson and Marc McAusland cleared.
That only delayed the second goal as McCracken put the McDiarmid Park side 2-0 ahead with 13 minutes remaining. Goalkeeper Samson made a hash of a corner and the centre-half finished with aplomb.
There was some extra polish put on the scoreline as Davidson put Sandaza through on goal with a headed pass and the striker kept a cool head to slide the ball under Samson.