Hooker Rhys Lawrence scored a first half try but it was the visitors who took control thanks to a brace from Dan Fish and score from Tom Williams.
Second half scores from Aled Summerhill and a second for Williams sent Cardiff Blues clear before Taine Basham and Jared Rosser hit back for the Dragons.
Cardiff Blues opened up an early lead courtesy of two penalties from Steve Shingler before the opening try when wing Williams broke clear and found Fish on his shoulder.
Jacob Botica missed a penalty wide right, after Cardiff Blues were caught offside, while the home pack continued to look to build up a head of steam with Josh Reynolds and Ben Fry rattling into contact.
However, it was Cardiff Blues who struck again on 24 minutes when a quick tap penalty saw them use an overlap down the left and Williams collected the final pass from Aled Summerhill.
Dragons finally broke through just after the half hour as a clever kick in behind forced Fish to kick away and concede a five-metre scrum.
A free kick from the resulting scrum was followed by a yellow card to scrum half Lewis Jones for not retreating, after alert back row Lennon Greggains looked to go quickly.
Dragons duly drove the next lineout over the line with Lawrence the man at the back of rolling maul.
But, despite being a man down, Blues struck again three minutes before the break, with Fish profiting from turnover ball in the home 22 to skip over down the right wing.
Less than two minutes after the restart Williams grabbed his second of the night as he tore away after a clever inside pass from Shingler before Aled Summerhill added another.
Dragons refused to back down and were rewarded when Basham blasted over after a weaving run from Will Talbot-Davies.
And a superb offload from James Benjamin in the tackle released Jared Rosser to dot down.
03m Shingler p 0-3
07m Shingler p 0-6
10m Fish t Shingler c 0-13
24m T Williams t Shingler c 0-20
32m Lawrence t Botica c 7-20
36m Fish t 7-25
42m T Williams t 7-30
45m Summerhill t Shingler c 7-37
68m Basham t Botica c 14-37
74m Rosser t Botica c 21-37
Dragons A: 15 Will Talbot-Davies, 14 Joe Goodchild (Penny 48), 13 Deon Smith (Loots 56), 12 Connor Edwards, 11 Jared Rosser, 10 Jacob Botica, 9 Dan Babos (Buckland 64); 1 Josh Reynolds (Evans 48), 2 Rhys Lawrence (Hewlett 75), 3 Chris Coleman (Yendle 75), 4 Joe Davies, 5 Max Williams (Scragg 75), 6 Lennon Greggains, 7 James Benjamin, 8 Ben Fry (Basham 46)
Replacements: 16 Zac Hewlett, 17 Scott Evans, 18 Luke Yendle, 19 Ed Scragg, 20 Taine Basham, 21 Dafydd Buckland, 22 Tiaan Loots, 23 Carwyn Penny
Cardiff Blues A: 15 Dan Fish, 14 Aled Summerhill, 13 Cam Lewis, 12 Steve Shingler (Thomas 60), 11 Tom Williams (Llewellyn 64), 10 Ben Jones, 9 Lewis Jones; 1 Rhys Carre, 2 Liam Belcher, 3 Kieron Assiratti (Davies-King 60), 4 Macauley Cook, 5 James Down, 6 Shane Lewis-Hughes (Rhys Davies 64), 7 James Botham (T Williams 48), 8 Cai Devine
Replacements: 16 Iestyn Harris, 17 Fraser Young, 18 Will Davies-King, 19 Teddy Williams, 20 Ioan Rhys Davies, 21 Jamie Hill, 22 Ben Thomas, 23 Max Llewellyn