In the end, Munster’s victory over Ulster elsewhere on Friday means the title race will run for at least one more week.
The home side raced into the lead thanks to a penalty from Shaun Connor, and a converted try from Richard Mustoe.
The Dragons rallied and had a great deal of possession but could not convert it into points, with replacement flyhalf Dan Griffiths guilty of missing three penalties after coming on for Nathan Brew.
And though the Dragons had plenty of ball they were constantly pushed back by the Ospreys’ offensive defence.
Both sides were reduced to 14 men before halftime when Andrew Millward and Rhys Oakley were sent to the sin bin for technical offences, but the Ospreys still went into the break 10-0.
Skipper Barry Williams put scrum-half Jason Spice in for the next Ospreys’ score soon after the half-time break and their lead was stretched further when Connor added a penalty moments later.
Another try from Spice put the result beyond doubt, and they secured the bonus point when Adrian Durston crossed in injury time.