Ospreys were boosted by Wales releasing Morgan-Williams and loose-head prop Gareth Thomas, who made his first appearance since suffering a calf injury at the start of December.
The hosts were without six members of Steve Tandy’s squad and the visitors were denied the services of two.
Dragons then suffered a huge blow in just the second minute with the loss of influential South African tight-head Rob Hunt, who was carried off after injuring his left hamstring when cleared out of a ruck.
The Rodney Parade club’s former Wales loose-head Wyn Jones did not last much longer – he went off in the 12th minute with the game still scoreless.
That meant replacements Jordan Morris and Cebo Dlamini were in for long shifts on a draining surface, and the injuries turned out to be critical.
Ferocious defence was the winner in the opening quarter with both sides failing to get off the mark after kicking penalties to the corner.
Dragons eventually made pressure count in the 18th minute when hard carrying by big ball carriers was followed by tenacious fly-half De Beer going through a gap for a try that O’Brien converted.
The visitors failed to extend their lead despite being on top and paid the price on 32 minutes when the alert Morgan-Williams sniped under the posts from a ruck, Jack Walsh levelling from the tee.
In-form wing Rio Dyer, who missed out on the Six Nations squad, was twice denied down the left corner as Dragons tried to respond and it remained level at the break.
O’Brien knocked over a pair of penalties either side of a bout of defence to put the visitors 13-7 up approaching the hour.
Ospreys opted against calling for the tee from penalties, but found Dragons, with strong defence and the big clearing boot of O’Brien, a tough nut to crack as the rain lashed down.
Dragons were reduced to 14 men for the finish when Dlamini was yellow-carded for a high tackle on Harri Houston in the 73rd minute.
Ospreys kicked to the corner and Lloyd went over from the driving line-out only for Walsh to pull the conversion.
Dragons lost another man with four minutes to play due to needing to play with uncontested scrums.
That proved to be crucial as Ospreys hit the front for the first time when it mattered by working Giles clear, and his pace from close-range did the rest.
