Richard Fussell added a second just after the hour before Ashley Smith pounced on a loose ball three minutes later before going over.
Ulster offered little in return with Ian Humphreys claiming the visitors points from his boot.
Dragons first try came from a scrummage on 13 minutes.
Good quick ball under pressure eventually found centre Tom Riley on the right who offloaded to Brew on the overlap to go over in the corner.
James Arlidge sent his conversion wide, but his opposite number Ian Humphreys made no mistake with his penalty moments later after the Dragons were caught offside.
Ulster dominated possession in a scrappy first half without creating much and the Dragon's five-point lead was restored on 23 minutes when Arlidge took advantage of illegalities in the scrum.
Ulster should have closed the gap immediately following another offside, but Humphreys kick landed wide.
Arlidge fared little better sending two more kicks in the closing stages of the first half wide to keep the score 8-3.
By then, both sides had been reduced to 14 men with props Ali McKenzie and BJ Botha both yellow carded for collapsing the scrum.
They also had to deal with early injuries, first with Dragons captain Tom Willis suffering a calf injury.
Then Ulster lost lock Ryan Caldwell and full-back Bryn Cunningham in quick succession.
The home side tried to build on their lead in the second half but were struggling to break down a firm Ulster defence.
Dragons could have had their second try 10 minutes after the restart.
Wing Richard Fussell broke away brilliantly and looked to be heading for a solo try, but he waited for support and the final ball from Nigel Hall could not find its way to a host of players lining up to go over in the corner.
Instead, the Dragons had to settle for a penalty from an offside which Arlidge sent between the posts, but within seven minutes, Humphreys pulled it back to 11-6.
The hosts' persistence eventually paid off though and they claimed their second try on 62 minutes after Riley timed his run well before finding Jason Tovey who delivered to Fussell to cross in the corner for an unconverted try to make it 16-6.
That 10 point lead was extended by a further seven just three minutes later when centre Ashley Smith raced on to a loose ball and guided it unopposed over the line after a good challenge by replacement Steve Jones on Humphreys. Tovey converted.
Ulster fought back and broke through the Dragons defence in the closing minutes, but Ulster's Thomas Anderson spilled the ball just before the line.
Dragons (8) 23 Tries: Brew, Fussell, Smith. Cons: Tovey. Pens: Arlidge 2.
Ulster (3) 6 Pens: Humphreys 2.
Dragons: Tovey, Brew, Riley, Smith, Fussell, Arlidge, W. Evans, McKenzie, Willis, Hall, A. Jones, Charteris, Lydiate, G. Thomas, Bearman.
Replacements: M. Thomas for Tovey (78), S. Jones for Arlidge (62), Gustafson for Lydiate (41), Sidoli for G. Thomas (56). Not Used: Robinson, Webb, Walker.
Ulster: Cunningham, Nagusa, Trimble, Whitten, Danielli, Humphreys, Boss, Young, Kyriacou, Botha, Tuohy, Caldwell, Henry, Faloon, Diack.
Replacements: Wallace for Cunningham (29), Cave for Nagusa (68), D. Fitzpatrick for Whitten (36), Marshall for Humphreys (68), Brady for Kyriacou (56), O'Donoghue for Henry (36), Anderson for Diack (68).
Ref: Carlo Damasco (Italy).
|Newport Gwent Dragons Score Card|
|Ulster Rugby Score Card|