Ross County, who handed debuts to five new signings, dominated early possession against last season’s Scottish Cup winners.
And the home side should have taken the lead after 20 minutes when Jake Jervis and Tim Dreesen forced saves from St Johnstone keeper Alan Mannus.
But against the run of play, the visitors, who were without their recently departed top goalscorer from last season Stevie May, took the lead.
David Wotherspoon’s cross on the half hour was punched away by County keeper Antonio Reguero but the ball fell kindly to Michael O’Halloran who slotted the ball home.
Graham Carey should have got County on level terms before the break but had one shot saved by Mannus and saw another effort miss the right corner of the goal.
County were made to pay for their inability to convert when St Johnstone extended their lead within three minutes of the restart after Steven MacLean nodded home a Scott Brown cross.
But County reduced the deficit on 54 minutes when Jervis met Yoann Arquin’s cross with a thumping header that flew into the top right corner of the net.
Steven Anderson and David Mackay had chances to reinstate St Johnstone’s two-goal cushion around the hour mark, but both had efforts saved by Reguero.
Liam Caddis had a chance to make the game safe for the away side 10 minutes from time but the substitute could only manage to fire his shot straight at Reguero.
Melvin De Leeuw almost snatched an equaliser in the last minute with a long-range effort, but Mannus was not to be beaten as St Johnstone hung on to claim all three points.