But they were prevented from claiming the title because nearest rivals Munster kept the race alive with a 21-15 victory over Ulster.
Neath-Swansea opened up a 10-0 lead after just 13 minutes through a penalty from outside-half Shaun Connor and a converted try by wing Richard Mustoe, who out-sprinted the cover tackling to go over in the left corner. From then on the Dragons, courtesy of referee Orlan Trevor, had plenty of possession but could do little with it.
The Dragons replacement outside-half Dan Griffiths missed all three of his penalty kicks after coming on for Nathan Brew. And though the Dragons had plenty of ball they were constantly pushed back by the Ospreys' offensive defence.
When the Ospreys did get the ball they always looked the more dangerous and would have wanted a bigger half-time lead than 10-0.
Before half-time a player from each side Andrew Millward and Rhys Oakley were sent to the sin bin for technical offences.
Four minutes after half-time the Ospreys took a significant step towards victory when skipper Barry Williams put scrum-half Jason Spice over for the second try.
And their lead opened up to 18-0 when Connor planted a penalty three minutes later.
Victory was all but assured on 54 minutes when Spice claimed his second try as he was put clear by Mustoe.
The Ospreys spent the rest of the half searching for a fourth try and a bonus point.
But that try did not arrive until deep into injury time when Adrian Durston ran in.
Neath-Sw'sea Ospreys scorers: Tries: Mustoe, Spice 2, Durston. Cons: Connor 2. Pens: Connor 2.
NEATH-SW'SEA OSPREYS: Durston, Terblanche, Bishop, Seveali'i, Mustoe, Connor, Spice, D. Jones, B. Williams, Millward, Newman, Bateman, Bater, Tandy, Lloyd. Replacements: R. Hibbard for D. Jones (79), James for Millward (72), Tait for Newman (67), Pugh for Tandy (69), Bonner-Evans for Lloyd (25).
NEWPORT-GWENT D'GONS: Tuipulotu, Wyatt, Brew, Breeze, Warlow, Baber, Snow, Richards, Anthony, Gough, Sidoli, Winn, Ringer, Forster, Oakley. Replacements: Veater for Wyatt (67), Griffiths for Brew (16), Bryant for Warlow (25), Black for Snow (57), Robertson for Richards (74), Thomas for Anthony (57), Charteris for Sidoli (57).
Referee: Olan Trevor (Munster).