Brian Graham scored the only goal of the game on 25 minutes to move Saints into fifth, four points clear of their opponents, who stay in sixth place in the Scottish Premiership thanks to Dundee United’s 1-0 win over Hamilton.
A scrappy start saw the home side create the better chances with two David Wotherspoon corners providing an early threat to the Dundee goal.
However, the first real chance of the game came at the other end – although via a St Johnstone boot – with Alan Mannus saving well after Wright had diverted Greg Stewart’s shot goalwards.
But three minutes later, St Johnstone were ahead, Graham latching onto a pass from Michael O’Halloran before curling a shot into the bottom corner.
The goal lifted Saints and they had two good chances to increase their lead before half-time with Steven McLean and Graham both going close – although David Clarkson very nearly sent Dundee in level at the break after hitting the post with a long-range shot (45).
The second half began in similar fashion to the first, with perspiration rather than inspiration to the fore.
St Johnstone gradually began to gain the upper hand, David Mackay and Graham both seeing shots saved by Dundee keeper Scott Bain.
And despite the backing of almost 3,000 away fans in the crowd of 6386, Dundee were unable to find an equaliser.