The narrow win for Chris Anderson’s side ensures that the Blues and not Connacht claim a place in a play-off against an Italian side for a Heineken Cup place next season.
Speedster Kevin Morgan grabbed a brace with Jason Forster and Ben Breeze also crossing for the Dragons.
John O’Sullivan, Bernard Jackman and Brendan O’Connor notched five-pointers for the Irish province.
The Dragons pounced on a mistake from the visitors to open the scores in the first minute. Dragons scrum-half Gareth Baber snapped a loose ball and fed skipper Forster who grabbed the score.
According to officials the try is the fasted ever scored in the Celtic League and beats the record set by the Blues’ Robin Sowden Taylor just eight days ago.
After the Dragons failed to capitalise on their strong opening Connacht took the lead when some good work from Chris Keane saw O’Sullivan in for a try that was converted by Paul Warwick.
But the Dragons bounced back just before half-timek with Breeze dotting down in the corner.
Morgan soon had his brace in the bag after the break but Connacht refused to give up their hopes of pipping Cardiff.
Jackman gave them a lifeline with a couple of minutes left on the clock and then O’Connor ensured a nail-biting finish.
But they were not able to overhaul their hosts in injury time.