The wait for derby victory over Cardiff continued in agonising fashion as 14-men Dragons were edged out 19-18 in a pulsating United Rugby Championship clash at Rodney Parade.
Rearranged from the festive period, a dramatic opening 40 minutes featured two red cards as Joe Davies and Liam Belcher were dismissed.
A try from all-action Number Eight Ollie Griffiths ensured the teams were level at the break and when Jack Dixon crashed over after a fine team move the hosts lead on the hour.
Cardiff had won their last thirteen encounters with Dragons - since the Men from Gwent’s victory at the Arms Park in 2014 – and they went back ahead courtesy of the boot of Rhys Preistland before late drama.
In a grandstand finale, young fly half Will Reed cut the lead to a point before his last-minute penalty drifted just wide as the visitors held on.
Dragons now turn their attention to the Emirates Lions as they look to finish the home season on a high.
The home side made three changes to the starting line-up with Elliot Dee, Ben Fry and Dixon all returning to the side before James Benjamin was a late call-up for Tylor Davies in the warm-up.
A third minute penalty for offside gave visiting fly half Priestland a simple three points to open the scoring.
The first scrum of the game saw the hosts secure a penalty to a huge ovation while a storming run by captain Keddie, as he bounced off two tacklers, raised the roof further.
Cardiff – who had lost the last eight on the road in the URC - enjoyed plenty of early possession, but they found a home defence in no mood to ship easy points with Ben Carter to the fore.
The first dramatic twist in the game came just after the quarter hour mark as Cardiff were given a penalty after a clear out on Rhys Carre.
The TMO was called into action and referee Craig Evans dismissed Joe Davies, meaning Dragons would have to play over an hour a man down.
The Men of Gwent, though, showed plenty of spirit and a penalty at scrum time gave Reed a shot at goal that he duly slotted from long range.
Reed produced a superb tackle on Carre in the channels before Griffiths swooped to win the breakdown penalty. Reed’s resulting penalty, though, was pulled wide right from halfway.
Dyer then wrapped up Theo Cabanga, but a quickly taken lineout saw Cardiff whip the ball right at pace and after an initial line break from Owen Lane the ball found Lloyd Williams to skip over.
After former Dragon Matthew Screech was penalised for not rolling away, Reed produced a stunning kick deep inside the visiting 22.
Pressure then built before Belcher struck Reed with a high shot and he was red carded to make it 14 men each.
Dragons struck immediately as Number Eight Griffiths peeled off the back of a scrum and blasted over. Sam Davies added the extras to level the scores at 10-10 at the break.
Priestland struck over another penalty at the start of the second half before Dragons lost second row Carter to injury.
Reed tore through a gap but had no support runners on his shoulder before Cabango exploited space down the left as he kicked out of a tackle, but Dragons just did enough to halt the speedster.
Jack Dixon produced a superb penalty win under his posts - after Lloyd Williams nearly broke resistance – before the centre took centre stage with a stunning score.
Keddie carried strongly to wrap up men and then twice the home side showed superb handling before Dixon popped up on the right to crash over.
Priestland responded with a penalty 12 minutes from time to retake the lead while scramble defence from Warren, after a hack ahead prevented, another visiting score.
Lloyd Fairbrother made his long-awaited return in the final ten minutes but it was the accurate boot of Priestland that was punishing home mistakes as he added another three to extend the lead.
A penalty for crossing allowed Reed to eat into that advantage before a big scrum under pressure in their own 22 was greeted by a deafening home roar.
Another penalty with 90 seconds remaining saw Reed point to the posts once more, but the ball drifted just wide as Cardiff edged an absorbing encounter.
03m Priestland p 0-3
25m Reed p 3-3
33m Williams t Priestland c 3-10
39m Griffiths t Davies c 10-10
46m Priestland p 10-13
64m Dixon t 15-13
69m Priestland p 15-16
73m Priestland p 15-19
75m Reed p 18-19
Dragons: Jordan Williams, Rio Dyer, Adam Warren, Jack Dixon, Jared Rosser, Will Reed (Davies 37-40), Gonzalo Bertranou (R. Williams 69); Aki Seiuli (Bateman 72), Elliot Dee, Mesake Doge (Fairbrother 72), Joe Davies, Ben Carter (Taylor 46), Harri Keddie, Ben Fry (Basham 65), Ollie Griffiths
Replacements: James Benjamin, Greg Bateman, Lloyd Fairbrother, Huw Taylor, Taine Basham, Rhodri Williams, Sam Davies, Josh Lewis
Cardiff Rugby: Matthew Morgan, Owen Lane, Rey Lee-Lo, Max Llewellyn, Theo Cabango: Rhys Priestland, Lloyd Williams, Rhys Carré, Liam Belcher, Dmitri Arhip, Seb Davies, Matthew Screech, James Botham, Josh Navidi, James Ratti
Replacements: Kirby Myhill, Corey Domachowski, Dillon Lewis, Josh Turnbull, Ellis Jenkins, Ellis Bevan, Ben Thomas, Mason Grady
Referee: Craig Evans (Wales)