Steffan Jones' boot secured victory for the Dragons over the Ospreys to claim their first win in the LV= Cup.
The sides were level 9-9 at the interval with three penalties each from fly-half Jones and Ospreys counterpart Matthew Morgan.
Jones restored the home side's lead before Jonathan Thomas crossed for the game's only try to give the visitors the lead.
But two further penalties from Jones secured victory for the Dragons.
The defeat at a drenched Rodney Parade was a blow to the Ospreys' hopes of reaching the latter stages of the LV= Cup.
However the home side's victory was marred by an injury suffered by wing Mike Poole in the opening minute.
Poole went down under a double tackle from the Ospreys defence and after a long delay he was carried off with his left ankle in a brace.
Newport-Gwent Dragons: Amos, Pewtner, Hughes, Dixon, Poole, S. Jones, J. Evans, Williams, Parry, Way, A. Jones, Sidoli, L. Evans, Cudd, I. Jones.
Replacements: Leach for Hughes (40), D. Evans for Poole (2), Coundley for Williams (72), Gustafson for Parry (65), Ryan for Way (64), Nimmo for Sidoli (40).
Not Used: Groves, Downes.
Sin Bin: I. Jones (23).
Ospreys: Murphy, Grabham, Spratt, John, Howells, Morgan, Webb, M. Thomas, Dwyer, Suter, S. Williams, Hughes, J. Thomas, Ellis, Allen.
Replacements: Edwards for Spratt (76), Davies for Morgan (61), N. Smith for M. Thomas (74), Arhip for Dwyer (56), Johnstone for Suter (61), Baker for Hughes (51), Haberfield for Ellis (74).
Not Used: Dudley-Jones.
Sin Bin: Allen (29), Webb (69).
Ref: Llyr ap Geraint-Roberts (RFU).