St Johnstone missed a big opportunity to close the gap on Ross County after watching an early lead slip away in the Highlands.
Callum Hendry had given Saints the lead with a glorious header but Regan Charles-Cook levelled the game ahead of the interval.
Charles-Cook was at it again after the break to give the hosts the lead before Joseph Hungbo thundered in a third with little over 20 minutes remaining.
Perth boss Callum Davidson was able to stick with continuity and named a side with just one change from last week’s victory against Hearts.
Midfielder Murray Davidson dropped out completely and that paved the way for Jacob Butterfield to come in from the first whistle.
Again, goalkeeper Zander Clark missed out through injury so Elliott Parish was the man tasked with keeping the ball out the visitors’ net.
He was a spectator for the opening stages of the match as both teams attempted to get to grips to a strong breeze at the Global Energy Stadium.
Up the other end, Ross Laidlaw hadn’t been particularly busy either but he was required to scoop up a Tony Gallacher half-volley early doors.
Saints had looked comfortable and were soon making inroads down the right flank. The move appeared to slow when Melker Hallberg nudged wide to advanced wing-back Tom Sang, but this phase of play was far from done.
The Cardiff loan man suddenly produced a wicked delivery with his left foot and the ball flew towards the centre of the box. There was Hendry, rising higher than all in the 24th minute, to plant another tremendous header into the back of the net.
But the Staggies were back level on 36 minutes when Charles-Cook, the league’s top scorer, was gifted too much time to size up his angles from 20 yards. He proceeded to curl a low strike into the bottom corner.
With bottom of the table Dundee three down at the break, this was a wonderful chance for Saints to create some breathing space.
Hungbo - he had been lively - attempted to guide the hosts in front early after the break but his shot drifted narrowly wide of the post.
And then Jordan White attempted to steer in a Charles-Cook delivery. Jamie McCart was well-positioned to block behind for a corner.
The Perth rearguard, however, could not prevent Charles-Cook from finding the net - his second of the afternoon - on 53 minutes.
A Jack Baldwin throw-in navigated towards the back post and there was the Ross County winger to loop a neat finish over the head of Parish.
Saints soon sent Nadir Ciftci on, replacing Tony Gallacher, in search of a leveller and a much-needed spark after a poor start to the second half.
But Hungbo instead added a third with a low, crisp drive into the bottom corner in the 66th minute of the match.
Charlie Gilmour and Theo Bair were then introduced with the Perth side, now, having three recognised strikers on the field of play.
There had been little for the 579 travelling fans to get excited about in the second half and Saints continued to struggle to create an opening.
They remain second bottom of the table after Dundee were thumped 4-0 by Livingston.