Nearest rivals Ross County's own match fell victim to the weather but the Dens Park side failed to edge closer to the Highland outfit. Defeat means Dundee have claimed just one point from their last seven matches.
The home side started well with plenty of possession but the first chance instead fell to Dundee when Iain Davidson collected a Colin Nish pass and lashed just over from inside the area.
Saints almost sparked the match into life after 31 minutes when an angled drive from the left from Rowan Vine forced a rapid response from Brian Easton, who cleared off the line.
The game was crying out for a goal and the breakthrough came two minutes later.
Gregory Tade delivered a cross from the right and as Peter Pawlett challenged Dundee keeper Rab Douglas the ball broke kindly for Craig and he rifled it into the empty net from 10 yards.
Dundee were dealt an injury blow when Stephen O'Donnell left the field on a stretcher after 53 minutes following a clash with Murray Davidson.
The home side claimed for a penalty when Tade went to ground under pressure from Declan Gallagher but there was no spot kick award by referee John McKendrick.
Saints were threatening again when Craig rolled a low free kick into the path of Vine and he hooked a shot inches wide of the far post.
At the other end, the Dark Blues almost levelled when Nish unleashed from 12 yards but a timely block from Scobbie ensured the effort dropped harmlessly over the crossbar.
Saints continued to push forward and Frazer Wright saw his header skim the crossbar after meeting Craig's free-kick.
Dundee were still hopeful of snatching a share of the points and Nicky Riley saw an impressive effort from distance fizz just past the upright but Saints held on.