The Scotland striker netted a first-half volley to put his side in front in the 33rd minute before Adrian Sporle added a second seven minutes into the second half.
It was St Mirren who threatened first with a long-range McAllister free-kick which drifted just wide.
Sam Foley and Tait had speculative efforts off target before Lee Erwin had a stabbed attempt from McAllister's cross that Benjamin Siegrist clutched comfortably.
Erwin then had another chance to open the scoring from a dead ball situation after half an hour but sliced his shot wide.
Shankland had been quiet in his first start since recovering from an ankle injury but he brought the game to life with the opener.
Saints came close to an equaliser not long after. Jamie McGrath sent over a corner and Tait's solid header was brilliantly saved by Siegrist.
Shankland then almost turned provider before half-time but Nicky Clark couldn't convert.
United started the second half on the front foot and created a number of chances. Zlamal pulled off a great save to deny Sporle before Clark saw his shot bounce off the far post and away to safety.
Zlamal was keeping his team in it but, after making terrific saves to deny Ian Harkes and Shankland, he could do nothing to keep out Sporle's effort which found the far corner.
St Mirren's cause got much harder on the hour mark when Tait was late on Chalmers and was shown a straight red card.
But they gave themselves a lifeline when Connolly took advantage of some slack defending to drill a low shot past Siegrist.