Ulster notched up their third consecutive bonus-point RaboDirect PRO12 victory to keep their play-off hopes alive with Stefan Terblanche's last-minute try bringing Brian McLaughlin's side maximum points.
The South African's score came after Ulster had been reduced to 14 men for the second time in a game which the Dragons had enjoyed plenty of possession and territory but had been unable to get across the home side's line.
First-half tries from Robbie Diack and Ruan Pienaar set Ulster on their way before Craig Gilroy added another.
Ruan Pienaar kicked two conversions and two penalties to end a wet and cold night with 15 points.
Ulster were forced into a late change as Paddy Wallace's call-up to provide Ireland cover saw Nevin Spence promoted from the bench with Michael Allen being added.
Jason Tovey opened the scoring with a long-range penalty after seven minutes and though Pienaar missed an early penalty chance for Ulster, the home side went ahead when a clever short lineout - along with a lucky juggle - saw Diack score in the right corner.
Pienaar missed the tricky conversion but, from the restart, Ulster swept downfield and in a terrific move involving Gilroy, Michael McComish and Adam D'Arcy, they carved the Dragons open for Pienaar to score at the posts.
The South African added the easy extras to put them 12-3 ahead.
A pair of Tovey penalties sliced that advantage to three points after 28 minutes.
Ulster needed to respond and did so when Pienaar nailed a penalty on the half hour after the Dragons were penalised at a scrum, giving them a 15-9 lead at the break.
The Dragons came out of the blocks with intent after the restart and though they butchered an early overlap their reward was Tovey's fourth penalty, cutting the gap back to three.
However, Ulster immediately struck back, spinning the ball right from a ruck for Gilroy to charge through and score.
Pienaar was unable to convert and Ulster were then reduced to 14 men after Faloon was binned for not releasing.
Ulster survived his departure and then sent on Ali Birch when the 10 minutes was up.
It was a critical point in the game as the Dragons - dominating territory and possession - went for the corner off two penalties and came away with nothing for their efforts.
With the game entering its final five minutes, Italian referee Carlo Damasco carded Ian Whitten for apparently deliberately slapping the ball down in a Dragons attack and Ulster were forced to end the game with 14 men.
To Ulster's credit, they marched up the field and won a penalty which Pienaar goaled to take it to 23-12.
Then, in the game's final move, a great Ulster burst set up an overlap on the right and Terblanche was put over, with Pienaar converting to end the game.