Deniz Mehmet was the penalty shootout hero for Dundee United as they won a bonus point to keep their hopes of Betfred Cup progression alive.
Two points for the Terrors moves them to the top of Group C but, with all their games played, they rely on the outcome of Saints’ tie at Peterhead this weekend to decide their fate.
Both sides showed six changes with Saints bringing in Shaun Rooney, Callum Booth, Craig Bryson, Liam Craig, Callum Hendry and Chris Kane for Jamie McCart, Danny McNamara, Ali McCann, Murray Davidson, Stevie May and Craig Conway.
United introduced Deniz, Adrian Sporle, Mark Connolly, Paul McMullan, Marc McNulty and there was a first start for Jeando Fuchs in place of Benjamin Siegrist, Jamie Robson, Peter Pawlett, Luke Bolton, Lawrence Shankland and Ian Harkes.
David Wotherspoon forced a save out of Deniz seconds into the encounter. Shifting onto his right foot, the Saints No 10 fired in a low drive but the Terrors keeper was equal to it.
United pressed well to win a corner out of Perth No 1 Zander Clark, who failed to deal with a back pass from Scott Tanser on 10 minutes.
From the resultant set-piece, McMullan found Ryan Edwards but the big centre-half could only nod over for the visitors.
On 13 minutes, a stray Deniz kick out was picked up by Craig who fed Hendry but the 22-year-old could only drag his left-foot effort wide of the post.
Saints saw a penalty claim turned away moments later as Hendry went down in the box under the challenge of Connolly. There wasn’t much of a protest from the home side, suggesting referee Don Robertson called it right.
Up the other end, United were making the right noises without really threatening the home goal.
Fuchs and Sporle linked well down the left but the Argentine couldn’t pick out a team-mate with his cross, before a jinking McMullan run into the Saints’ box came to nothing.
Bryson picked up a yellow card on 21 minutes after he clotheslined Cameroonian midfielder Fuchs in an aerial challenge. He stayed down for a moment but Fuchs was OK to continue.
The Tangerines maintained the pressure on 25 minutes with Calum Butcher, enjoying a rare foray forward, angling a fierce drive just over the bar.
Terrific work by Sporle on the left wing saw McMullan presented with a glorious opportunity to open the scoring just after the half hour mark but the diminutive attacker could only poke his shot wide.
Moments later, Butcher charged down a Clark clearance presenting McMullan with another chance to break the deadlock but Saints captain Jason Kerr put his body on the line to deny the Terrors.
Hendry flashed an effort the wrong side of Deniz’s right-hand post on 34 minutes as the hosts came back into the contest.
Soon after Deniz was clawing at a Saints cross from the right and handing Hendry another opportunity on a plate but the Londoner recovered well to charged down the striker’s effort.
After a fairly even first period, Saints took control in the early moments of the second half.
On 50 minutes, Kane scooped over from 12 yards when it looked easier to score following a cushioned knockdown from Wotherspoon.
Kane then turned provider, laying in Hendry with just Deniz to beat inside the box but the Saints forward blazed over as they continued to knock at the door.
Edwards found his way into the book on 55 minutes despite seemingly coming off worse in an aerial challenge with Hendry.
From the result free-kick, Hendry, in acres of space of the right of the penalty area, skewed his effort well wide.
Racing away on the counter, McMullan found McNulty encroaching on the Saints box but Kerr was able to get in the way and blocked the Reading loanee’s curled strike.
Sporle showed good acceleration to drive into the St Johnstone half, interchanging with McNulty in the box, but the return pass just got away from him.
United boss Micky Mellon was adamant his team should’ve had a penalty on 63 minutes as McNulty went down in a crowded penalty box but Robertson was having none of it.
The Tangerines continued to turn the tide of the second 45 with a succession of corners and sustained pressure, with McMullan, McNulty and Sporle at the heart of it.
Harkes, Sporle and Butcher combined to good effect down the left with Liam Gordon doing terrifically to flick away the latter’s whipped delivery across the six-yard box.
The counter attack continued to look like United’s best way forward as Saints pushed to find an all-important goal.
The hosts had the chance of the match so far as Rooney forced a magnificent save out of Deniz, getting on to the end of Wotherspoon’s delivery with a powerful header.
On the follow-up, Connolly did well to charge down May’s hooked effort as the Tangerines cleared.
The Perth side ramped things up at McDiarmid Park entering the closing stages of the 90 minutes as experienced wingers Michael O’Halloran and Craig Conway checked in.
The Terrors made late changes of their own, bringing on Louis Appere and Luke Bolton, but both sides had to make do with a point apiece in normal time as the Group C clash went to penalties to decide who picks up the bonus point.
Deniz makes the difference for United in shootout
May was up first for Callum Davidson’s men but the sub saw his right foot effort well-saved by Deniz.
McNulty smashed home from 12 yards to give United the lead despite Clark getting a hand to it.
Booth replied for Saints before Harkes put United ahead again. Deniz almost denied Conway before the ball squirmed out of his grasp and just over the line
Connolly smashed his effort way over the bar but his goalkeeper spared his blushes by tipping Tanser’s spot-kick onto the post.
Skipper Mark Reynolds calmly slotted home, as did St Johnstone veteran Craig.
Up stepped Clark to stroke home the winning penalty which secured United the bonus point and kept their hopes of progression alive.
St Johnstone (5-3-2): Clark; Rooney, Kerr (C), Gordon, Booth, Tanser; Craig, Bryson (Davidson 77), Wotherspoon (O’Halloran 74); Kane (Conway 74), Hendry (May 67).
Subs not used: Parish (GK), McCart, Davidson, Melamed and Ferguson.
Dundee United (5-3-2): Deniz; Smith, Connolly, Edwards, Reynolds (C), Sporle (Bolton 84); Butcher, Fuchs (Harkes 62), McMullan (Appere 78); Clark, McNulty.
Subs not used: Siegrist (GK), Powers, King, Robson, Bolton, Fotheringham and Neilson.
Referee: Don Robertson.