Ulster moved third in Guinness PRO14 Conference B following a bonus-point victory over bottom side Dragons in Newport.
The Irishmen scored three second-half tries through prop Marty Moore, scrum-half John Cooney and lock and skipper Alan O'Connor that added to a first-half touchdown for number eight Jordi Murphy.
Cooney added three conversions, with replacement Billy Burns kicking another.
The Dragons were awarded a late penalty try and flanker Taine Basham drove over to add to a solitary penalty from fly-half Josh Lewis.
It took a 15 minutes before either side had a scoring chance and it went the Dragons' way as Lewis landed a 40-metre penalty.
Ulster, though, had the upper hand in both the loose and set pieces.
And, from a period of dominance on the Dragons line, Murphy picked up and drove over the line, backed by hooker Rob Herring and the rest of the pack, for a try which Cooney converted.
Seconds later, Lewis had a 30-metre shot at goal that went wide before the move of the match as Ulster raced downfield, with Cooney feeding wing Robert Baloucoune for a certain touchdown.
Yet, the Ulster flyer was superbly bundled into touch a metre from the line by home full-back Jordan Williams.
Ulster went down to 14 men before the break when Lewis ran to the halfway line only to be tackled late by centre Darren Cave, earning the visiting back 10 minutes in the sin-bin.
And it did not take long for the travelling fans to cheer their side again as they grabbed two converted tries in quick succession.
Moore rumbled over as an attacking line-out was turned into a ruck near the home line before Baloucoune sprinted down the right wing from half way and, seeing Cooney in support, flipped the ball to his scrum-half for a run-in from 25 metres.
But as Ulster's energy levels dropped off, the Dragons got back into the game and, with 10 minutes to go, found themselves facing 13 men.
Both Ulster wing Rob Lyttle and full-back Louis Ludik were sin-binned within a minute of each other for deliberate knock-ons, with Ludik's infringement sending referee Stuart Berry under the posts for a Dragons penalty try.
Ulster sealed the match and a bonus point when skipper O'Connor drove over with six minutes to go and a late Basham consolation try for the Dragons counted for little.