Tony Watt made a goalscoring return to Perth and the Dundee United team as his late goal decided the Tayside derby.
Watt collected a pass from Dylan Levitt on the edge of the box before turning his man and firing just inside the post to net the only goal in the 81st minute at McDiarmid Park.
It was the former St Johnstone striker’s first start since being sent off against another former club, Motherwell, on October 29, and his fifth goal since his move from Fir Park 12 months ago.
United survived some late scares to make it seven points from three festive games, while Callum Davidson’s side have suffered a hat-trick of losses.
Saints midfielder Melker Hallberg failed to overcome a hamstring injury and the hosts were also without Andy Considine and Adam Montgomery. Ali Crawford dropped to the bench to make it four changes from the side that lost 3-2 to Hearts.
Watt started in place of the absent Steven Fletcher, while Aziz Behich returned from illness to start.
The visitors enjoyed the better of the first half but could not test home goalkeeper Remi Matthews, whose only save was from a Levitt shot which trundled into his hands.
Watt twice looked like he might get in behind but Graham Carey blocked an effort and Liam Gordon took a yellow card to haul the striker down. Ryan McGowan also produced an excellent block to deny Kieran Freeman.
The hosts’ only effort at goal in the first half came when Carey curled a free-kick over the crossbar.
The atmosphere had been as flat as the home side’s display but the Fair City Unity group of Saints fans ended what appeared to be a silent protest over the club’s decision to hand three stands to Rangers supporters and charge adults £30 for the upcoming Scottish Cup tie.
Their team responded. Stevie May got away from the United defence and forced a decent stop from Mark Birighitti, and Jamie Murphy came close from long range. Dan Phillips intercepted Ryan Edwards’ pass but opted to shoot with May and Nicky Clark in good positions either side of him and was well wide.
United came back into it but Watt made a mess of a volley and Ian Harkes could not get the ball out of his feet after being played through.
Saints had a great chance when James Brown headed Drey Wright’s cross wide from six yards and were soon made to regret the miss even more when Watt struck.
Home substitutes had several chances to equalise. Theo Bair failed to make the most of a free-kick into the goalmouth before his scuffed effort was cleared off the line by Edwards. Connor McLennan was denied by a mixture of Birighitti’s hand and Behich’s goal-line clearance in between.
What the managers said
St Johnstone manager Callum Davidson said: “First half I thought we were miles off it in terms of keeping the ball. Dundee United had most of the game without really causing us many problems.
“We got better in the second half but conceded a sloppy goal.
“It was probably the worst performance of the season for me.”
Dundee United head coach Liam Fox said: “I’ve said to the players consistently that it’s all about the team rather than the individual.
“We lost Steven Fletcher through illness and Tony has come in and come up with the goods, scoring a vitally important goal for us. His work-rate and hold-up play was really good.
“I always say to the players that they always have to be ready because you never know when you’ll get an opportunity. It’s about how you train, how you behave and how you live your life. Tony has come in and done great.”
What’s next?
St Johnstone go to Aberdeen on Saturday in a 3pm kick-off, while Dundee United host Rangers on Sunday, live on Sky Sports from 3.30pm; kick-off 4pm.