No 8 Toby Faletau thundered over in the first-half and scrum-half Wayne Evans powered in after the break to give the Dragons a lead they managed to cling on to.
Gareth Owen's try assured Ospreys of a losing bonus point but the hosts heavily missed their absent international players as they crashed to defeat.
Andrew Conway grabbed Leinster's only try as they edged out Edinburgh by the tightest of margins, 19-18, to continue their Magners League revival.
The 19-year-old Ireland prospect's score was backed up by 14-points from the boot of Fijian international Isa Nacewa to turn around a 9-8 half-time deficit.
Scotland full-back Chris Paterson replied with a 13-point haul and wing Tim Visser crossed but the Gunners never quite had enough to overcome the in-form Irish side.
Leinster's third Magners League win in a row sees them overtake mid-table Edinburgh while Connacht slipped up 24-17 against Benetton Treviso.
Adrian Flavin and Niva Ta'auso's tries weren't enough as Connacht failed to nudge themselves ahead against the Italian club, who were inspired by South African scrum-half Tobias Botes' 19-point return.