United's 17-year-old forward Ryan Gauld, starting for the first time, took only 23 minutes to make an impact when he raced on to a Mark Millar pass to knock the ball past Saints keeper Alan Mannus.
With 12 minutes remaining United midfielder Stuart Armstrong was sent off by referee Iain Brines when he picked up a yellow card for simulation inside the Saints box, after being booked early in the game for a challenge on Gregory Tade but in the third minute of added time, Craig leapt to head in a corner from substitute Mehdi Abeid, who had replaced Tom Scobbie.
It was probably a deserved point for the Perth side who remain four points ahead of sixth-placed Kilmarnock while United, with one game against Aberdeen remaining before the split, have to wait and see if they can make the top half of the table.
United's goal midway through the first half came courtesy of the type of slack play which characterised the first period. Craig got caught in possession by Millar who fed it into the path of Gauld and the youngster raced through the middle and beat Saints defender Steven Anderson to toe poke the ball past Mannus.
In the 36th minute Rowan Vine's near post corner found striker Steven MacLean and his flick almost caught out United keeper Radoslaw Cierzniak who had to concede a corner which the visitors defended.
On the hour mark Craig's long-range shot was saved for a corner by Cierzniak, which sparked a further moment or two of panic in the United penalty area.
From Craig's corner, Barry Douglas cleared Murray Davidson's header off the line and when the ball came back into the box, MacLean had a looping header tipped on to the post by Cierzniak before Keith Watson completed the clearance.
Tade was replaced by Nigel Hasselbaink as United began defending increasingly deeper and in the 75th minute Davidson headed a Vine corner over from close range. Three minutes later Armstrong was shown a second yellow card for simulation inside a crowded penalty area in his attempt to win a penalty.
As Saints pressed for the equaliser, Davidson had a low drive well saved by Cierzniak and in the final minute of normal time MacLean hammered the ball over the bar from 10 yards. However, drama was reserved for the third of four added minutes when Craig rose to head in Abeid's corner to send the home fans wild.