Cardiff continued their run of victories over Dragons with a BKT United Rugby Championship bonus-point victory in a thrilling festive derby at Rodney Parade.
Dragons opened up a 15-0 lead thanks to tries from Wales pair Aaron Wainwright and Rio Dyer, before Cardiff battled back with scores from Teddy Williams and wings Josh Adams and Gabriel Hamer-Webb.
Dragons scrum-half Rhodri Williams restored the home advantage with a try before Cardiff replacement hooker Evan Lloyd sealed victory with the bonus-point score.