Ospreys beat Dragons at Rodney Parade on Saturday to clinch a second successive away Pro14 win.
Ospreys scored tries through Mat Protheroe, George North and Scott Otten, with 13 points added by fly-half Stephen Myler.
Dragons responded with tries from Jared Rosser and impressive centre Jamie Roberts, and 10 points from Josh Lewis.
It was a fifth win in six games for Ospreys, while Dragons have lost all three recent Welsh derbies.
Dragons and football side Newport County, who also play at Rodney Parade, moved to ensure their weekend fixtures would not be postponed because of the cold weather by investing in a dome cover for their pitch. Newport host Premier League side Brighton in the FA Cup on Sunday.
Wales flankers Justin Tipuric and Dan Lydiate were rested by Ospreys head coach Toby Booth but centre Owen Watkin returned from injury. Fly-half Myler captained the region in Tipuric's absence.
Wales centre Roberts was outstanding again as he returned from Covid-19 self-isolation for Dragons.
Dragons made five changes, with wing Rosser back in the side and Owen Jenkins moving to full-back as Jonah Holmes missed out with concussion. Lock Joe Davies, hooker Richard Hibbard and flanker Huw Taylor started in the pack.
Ospreys started positively with searing breaks from flanker Sam Cross and wing Luke Morgan as the visitors counter-attacked rather than kicking back ball, a tactic which had dominated the previous Welsh derbies.
That intent allowed Myler to open the scoring. Dragons responded almost immediately with some powerful surges from centre Roberts eventually enabling Josh Lewis to level the scores.
The home side were inspired by that score and another expansive attacking move resulted in a yellow card for Luke Morgan after the Ospreys wing deliberately knocked on an attempted pass from Nick Tompkins to Rosser.
That Dragons double act took advantage of Morgan's absence, with Tompkins releasing Rosser to dive in to score and Lewis converting from the touchline.
It was Dragons' first league try in 210 minutes, with their last coming against Benetton in early December.
Despite being down to 14 men, Ospreys responded with a well-worked try of their own, as full-back Protheroe sneaked into the left-hand corner and Myler expertly converted.
Replacement Ospreys centre Joe Hawkins, on for Keiran Williams, made a piercing break which was only rewarded by a Myler penalty. It at least restored the visitors' advantage and gave Ospreys a 13-10 interval lead.
Wales hooker Elliot Dee replaced Hibbard at the beginning of the second half and his break, alongside a storming surge from fellow front-rower Brok Harris, almost resulted in a second Dragons try before a frustrating forward pass.
The hosts, aided by outstanding back-rowers Aaron Wainwright and captain Harrison Keddie, had dominated the early second-half exchanges but could only level the scores through a Lewis penalty.
There was a special second-half moment for Ospreys wing Keelan Giles, who returned as a replacement for his first game in 15 months after knee problems.
Ospreys scored as soon as Giles entered the field - North slicing through the Dragons defence before exchanging passes with Watkin to power over.
Dragons retaliated with the rampant Roberts powering over through the Ospreys half-backs to claim his fourth try of the season, with Lewis' conversion levelling the scores.
That proved shortlived as Dragons replacement Lewis Evans was penalised and Myler slotted over his third penalty. Replacement hooker Otten then put the result beyond doubt with a driving lineout try.
Dragons fly-half Lewis was yellow-carded for a late charge on Protheroe as Ospreys were denied a late bonus-point try but celebrated victory.
Ospreys head coach Toby Booth: "It was tough derby arm wrestle with two teams that went for it which was great for people to watch.
"They were big and physical and created a lot of problems for us. It was fantastic to get the win but disappointing not to get the bonus point at the end."
Dragons director of rugby Dean Ryan: "We have to be critical of ourselves. I felt in the first-half we did not put enough pressure on the likes of Mat Protheroe.
"In the second-half we had the ambition but we were not accurate enough after having plenty of time and opportunities in their half. We were just not sharp enough or have enough quality at the moment."
Dragons: Owen Jenkins; Jared Rosser, Nick Tompkins, Jamie Roberts, Ashton Hewitt; Josh Lewis, Tavis Knoyle; Brok Harris, Richard Hibbard, Leon Brown, Joe Davies, Matthew Screech, Huw Taylor, Harrison Keddie (capt), Aaron Wainwright.
Replacements: Elliot Dee, Aaron Jarvis, Lloyd Fairbrother, Ben Carter, Lewis Evans, Rhodri Williams, Arwel Robson, Jack Dixon.
Ospreys: Mat Protheroe; George North, Owen Watkin, Keiran Williams, Luke Morgan; Stephen Myler (capt), Rhys Webb; Nicky Smith, Ifan Phillips, Ma'afu Fia, Adam Beard, Rhys Davies, Will Griffiths, Sam Cross, Morgan Morris.
Replacements: Scott Otten, Gareth Thomas, Tom Botha, Lloyd Ashley, Gareth Evans, Reuben Morgan-Williams, Joe Hawkins, Keelan Giles.
Referee: Dan Jones (WRU)
Assistant referees: Adam Jones, Gareth John (both WRU)
TMO: Ian Davies (WRU)