The Blues moved above Edinburgh and Treviso into seventh place after claiming just their third win in their last 14 matches in all competitions.
They were under pressure for most of the match, but pulled through thanks to four penalties from teenage fly-half Rhys Patchell.
The Dragons claimed the only try of the contest through centre Andy Tuilagi but were left to rue other missed chances during a game played in appalling conditions.

