As match results go, this was possibly Saints’ best of the season so far.
It was a real nail biter towards the end with King and McInnes sent off, but Saints held out well.
As expected the home team set the pace and attacked from the start but poor finishing and good defending by Saints kept the scoresheet blank.
The good chances for Swifts occurred in the 24th and 25th mins but Saints keeper Lee Wilson blocked both away and cleared upfield.
King was leading the way and, with Swifts retreating, found himself in space and decided to have a go.
The striker shocked the home support with a wonder goal from 30 yards.
A minute into the second half and Saints conceded a corner.
It was well taken, fast and low and saw Davies of Jeanfield equalise with a flick to the back of the net.
Disappointing to lose a goal so soon after the break, Saints struggled to keep Swifts at bay at this time but recovered and won a corner.
It was half cleared to Cunningham, just outside the penalty area, and that useful left peg of his curled it into the top corner of the net to put Saints back in front.
Saints got caught on the break with 20 minutes to go and Kennedy for Swifts made it 2-2.
There was a real worry for Saints on 83 minutes when referee Reid decided King’s tackle was dangerous and red carded him.
But Saints scored a winner when Quinn, with his back to goal chipped diagonally to Honeyman who played a perfect cross forward to Falconer at the back post and he calmly slotted it home.
Saints had McInnes sent off during this time when he was issued with a second yellow.
Despite being down to nine men, United managed to hold firm.
Saints: L Wilson, M Fleming, S McDonald, Blaney, McInnes, R Cunningham, King, Honeyman, McManus (Falconer80), Penman, J Wilson (Quinn73).
Subs: Stark, Moran, A McDonald.
Saints are away from home this weekend when they play Linlithgow Rose.