Tommy Wright’s men took apart Neil McCann’s Dundee, who sank to 10th in the table following another home defeat.
Saints went ahead through substitute Jordan Piggott’s 24th-minute own goal and did not look back from then on, with Chris Kane’s double and a further strike from Blair Alston ensuring a memorable day for the Perth side.
Dundee knew a win here would see them leapfrog their opponents and they began the match brightly.
AJ Leitch-Smith, who scored in stoppage time in their recent victory in Perth, released Jesse Curran, whose deep cross almost picked out Roarie Deacon. He could not quite connect at the far post.
Saints were also attempting to attack at every opportunity and Liam Craig saw his free-kick well held by home keeper Elliott Parish, despite the slippery conditions.
The hosts did suffer a blow shortly after as Lewis Spence was forced off injured to be replaced by debutant Piggott.
Then, in the 24th minute, Dundee fell behind. Steven Anderson chested the ball down to captain Joseph Shaughnessy, whose cutback was directed towards goal by Murray Davidson, with Piggott having the misfortune to deflect the ball into his own net.
A few minutes later, Saints full-back Scott Tanser struck Parish’s left post with a curling free-kick after Deacon has been booked for bringing down Davidson on the edge of the penalty area.
The visitors were in firm command so it was no surprise when they went further ahead in 37 minutes in simple fashion.
Steven MacLean dispossessed Josh Meekings, who was trying to run the ball out of play, before Blair Alston squared perfectly for Kane to calmly roll the ball home the helpless Parish to spark jubilation among the travelling support.
With just three minutes to go until the interval, Dundee were livid when Simon Murray was put clean through on goal and preparing to shoot when Tanser came sliding in to challenge him, but referee Craig Thomson saw nothing untoward.
Sofien Moussa was thrown on at the start of the second half, at the expense of captain Cammy Kerr, in a bid to salvage something for the hosts.
But it was the visitors who piled on more misery in the 64th minute. Kane was put clean through and his initial effort was saved by Parish, only for Alston to bury the rebound from close range.
Two minutes later, Kane completed the rout. The big striker pounced on indecision within the Dundee defence and wasted no time in rounding Parish to sweep home and rubber-stamp the outcome.