After putting Saints ahead, Paul Dummett hauled down The Terrors’ Jon Daly for a 43rd-minute penalty the striker converted, before Stuart Armstrong’s long-range effort gave United a deserved half-time lead at Tannadice.
Errors littered the hosts’ game, though, and ex-United striker Steven Thompson equalised with his fourth goal in three games before Brian McLean was sent-off.
Marc McAusland put the Buddies in front after 65 minutes and a rare David van Zanten goal after 78 minutes completed victory for the visitors, rendering Barry Douglas’ 90th-minute free-kick mere consolation.
United were seeking a first win since the Dundee derby and started well.
Gavin Gunning twice went close with headers from corners by Willo Flood, while Johnny Russell also twice threatened.
Their defence was torn apart for the opener when Jon Robertson’s cross-field ball found Gary Teale who skipped past Douglas and delivered a low cross which, through a forest of United defenders, left-back Dummett tucked in.
From the restart Russell shot wide across goal, then Craig Samson saved a curling Douglas free-kick before Flood departed, replaced after 26 minutes by Michael Gardyne after being on the receiving end of a couple of meaty tackles.
Daly went down after a wayward arm struck him in the face at a corner, but when the ball was sent in again by Douglas, Dummett hauled him over and referee Euan Norris pointed to the spot. Dummett was booked and Daly tucked in the penalty.
United were soon in front as an opportunistic 35-yard effort from Armstrong skipped off the muddy surface in front of goal and beat Samson, but their advantage evaporated five minutes into the second half as a poor Keith Watson pass was intercepted by Guy and Thompson placed the ball beneath Cierzniak.
Gardyne had an effort saved by Samson before the visitors struck again from a Teale free-kick, again benefiting from poor defending. The ball dropped amid a throng of tangerine jerseys and McAusland slammed it into the roof of the net.
United’s woes increased as McLean was shown a straight red card for a reckless tackle on John McGinn before, 12 minutes from time, Teale passed towards Van Zanten who sent in a low cross and neither a United defender nor a Buddies attacker met the ball as it drifted across goal into the bottom corner.
There was a nervous conclusion for Saints as United won a free-kick on the edge of the box and Douglas nonchalantly curled it in in the final minute of normal time.