Lock Matthew Screech grabbed a try in his milestone match but it was Munster who took the spoils at a wet and windy Rodney Parade in the Guinness PRO14.
Screech clocked up his 150th game for the region and scored a late try as Dragons suffered a first home defeat of the campaign in difficult playing conditions.
Munster – unbeaten so far this season - took command of the clash with first half tries from Matt Gallagher and Calvin Nash.
A score from Sam Davies saw Dragons look to wrestle their way back into the clash, as Dean Ryan’s men showed plenty of physicality and desire throughout.
However, despite going toe-to-toe during the second period a second try from visiting full back Gallagher wrapped up the points and ensured battling Dragons finished empty-handed.
A strong start for the home side was rewarded with an early penalty, for offside, that was confidently slotted over by playmaker Davies.
Munster hit back with JJ Hanrahan chipping into space and taking the ball on before feeding Jack O’Donoghue on his shoulder. Two quickfire penalties saw Munster march up field before Hanrahan slotted a simple kick to level the scores.
A loose kick sent big South African international Damian de Allende away down the left wing, but alert play from captain Rhodri Williams saw him race back to haul Craig Casey into touch.
The visitors, though, took the lead when livewire scrum half Casey broke away around the ruck and, with a penalty won, back row John Hodnett peeled into space and sent supporting runner Gallagher over.
The Munster forwards were rattling into contact to push Dragons back and a penalty, this time for offside, gave Hanrahan a simple kick to extend the lead.
The visitors looked a threat with ball in hand with a piercing break from Gallagher sending the Irish province racing up field.
A resulting grubber kick from Rory Scannell found wide open space and a free Darren Sweetnam who instantly popped the pass inside for wing Calvin Nash to score.
Josh Lewis, with a superb drilled low kick into the corner, and great work from Joe Davies to disrupt a lineout earned Dragons a strong attacking position.
And when Rhodri Williams chipped up high – with a penalty secured - the ball was lost by Hanrahan under pressure from Keddie and Sam Davies reacted first to score, with the TMO confirming the effort.
Dragons finished the half strongly and pinned Munster back, but a five-metre lineout was halted by the officials for obstruction and the chance was gone as Munster took a 18-8 lead to the sheds.
The home side started the second half in a similar vein to the first with Ashton Hewitt, Ollie Griffiths, Jamie Roberts and Keddie all busy and to the fore taking the ball into contact.
Positive play was rewarded as Davies slotted three points after an offside against Munster.
The momentum was with the home side as a neat kick from Davies was taken by Adam Warren who found Keddie on his shoulder.
But a five-metre lineout went astray as Dragons failed to turn pressure into points and Munster rubbed salt in the wound with a simple penalty of their own.
Sweetnam had a try ruled out for offside, with Hanrahan ahead of the play, but the resulting penalty from Davies just drifted wide left.
Munster were starting to build up a head of steam, but had a second score chalked off, correctly for a clear obstruction on Ben Fry in the build-up.
Dragons continued to trade blow for blow as they hunted a way back into the game, with Ollie Griffiths a constant menace at the breakdown to win successive penalties.
However, field position was proving hard to come by and with Munster putting the squeeze on in the set piece it was Gallagher who grabbed his second of the afternoon after de Allende rolled out of a tackle.
A late surge saw Tavis Knoyle go quickly from a penalty and feed fellow replacement Jack Dixon to win another that Davies slotted into the corner.
And home pressure finally told with the final play as lock Screech dived over bodies to crash in the corner as the home side ensured they had the final word.
Timeline:
04m S. Davies p 3-0
08m Hanrahan p 3-3
14m Gallagher t 3-8
23m Hanrahan p 3-11
26m Nash t Hanrahan c 3-18
32m S. Davies t 8-18
47m S. Davies p 11-18
52m Hanrahan p 11-21
73m Gallagher t Hanrahan c 11-28
79m Screech t 16-28
Dragons: Josh Lewis, Owen Jenkins, Adam Warren, Jamie Roberts (Dixon 73), Ashton Hewitt, Sam Davies, Rhodri Williams (Knoyle 73); Brok Harris (Maguire 63), Richard Hibbard (Shipp 53), Lloyd Fairbrother (Jarvis 66), Joe Davies (Carter 73), Matthew Screech, Ben Fry (Basham 65), Harrison Keddie, Ollie Griffiths
Replacements: Ellis Shipp, Conor Maguire, Aaron Jarvis, Ben Carter, Taine Basham, Tavis Knoyle, Jack Dixon, Dafydd Howells
Munster: Matt Gallagher; Calvin Nash, Rory Scannell, Damian de Allende, Darren Sweetnam (Flannery 73); JJ Hanrahan, Craig Casey (McCarthy 73); Josh Wycherley (Archer 54), Kevin O’Byrne (Barron 67), Keynan Knox (Cronin 54); Jean Kleyn (Ahern 62), Billy Holland; Jack O’Donoghue (O’Donnell 67), John Hodnett, Gavin Coombes (O’Sullivan 53)
Replacements: Diarmuid Barron, James Cronin, Stephen Archer, Thomas Ahern, Tommy O’Donnell, Nick McCarthy, Jake Flannery, Jack O’Sullivan
Referee: Ben Blain (SRU)