Back row Taine Basham scored a blistering first half hat-trick as Dragons opened the new European Challenge Cup campaign with a stunning bonus point win over Castres at Rodney Parade.
Basham’s superb treble and an intercept try from wing Daf Howells saw Dragons race clear in a pulsating Pool 1 clash with the highly-rated Top 14 giants.
Basham – who has now scored six tries in seven games this season – became the first Dragon to score a European hat-trick since Tom Prydie in 2014.
A fierce second half saw Castres throw everything at Dean Ryan’s men, but a brave defensive effort saw the home side deservedly hold out to claim maximum points.
Dragons made eight changes from the side that lost out at Edinburgh, with Tom Griffiths handed his debut and fit-again prop Aaron Jarvis returning for his first game since January. Lock Joe Davies also clocked up his 50th game for the region in the engine room.
Visiting fly half and captain Ludovic Radosavljevic opened the scoring with third minute penalty before the Dragons roared back.
Full back Will Talbot-Davies broke way down the left wing and, supported by back row James Benjamin, the home side rattled into French territory.
A five-metre lineout then saw a huge driving maul powered over with Basham the man to touch down.
Castes looking to assert pressure up front and tempers flared off the ball with referee JP Doyle forced to halt play restore order.
But a searing break from Howells up the right wing saw another penalty awarded, after he was taken down for a high tackle, and Dragons again go for the corner.
The pack drove the ball up close, a dart from scrum half Luke Baldwin was stopped just short before Basham picked up and dived over for his second score.
Seconds later and the home side were in dreamland as an Intercept on halfway, after a telegraphed floated pass, saw Howells race away and into clear air for a 21-3 lead.
Rattled Castres looked to hit back from the 12-minute try blitz, but knocked on close to the Dragons line and then conceded a second scrum penalty in quick succession.
From nothing, Castres did respond as a home midfield play broke down and Taylor Paris scooped up the loose ball and went over unopposed to cut the lead to 21-10.
The French side, though, were guilty of some dangerous and needless passes on their own line, after Tyler Morgan kicked in behind, as they presented Dragons with two five-metre lineouts.
Desperate maul defence held the home side out, as Castres frantically defended their whitewash.
However, five minutes before the break another floated pass at the back of a lineout was picked off by man of the moment Basham who galloped clear for his treble, the bonus point and a 28-10 lead.
Castres changed their entire front row at half-time as they looked to find their feet up front and find a way back into the game.
It looked like it would work as four penalties in quick succession saw them bang on the home door, only to lose possession as they made a mess of a driving lineout play.
Max Williams was yellow carded as Castres threatened once again after a sublime break from elusive centre Florian Vialelle.
Incessant pressure finally told as Radosavljevic darted over from close range before Davies hit back, and calmed any home nerves, with a penalty just after the hour.
Dragons were being forced to dig deep in the final stages, with skipper Richard Hibbard leading from the front as he put his body on the line time and again.
And supporters were able to enjoy the final minutes as Dragons hunted a fifth score with more robust attacking play forcing the visitors back into the shadow of their own posts.
03m Radosavljevic p 0-3
07m Basham t Davies c 7-3
17m Basham t Davies c 14-3
19m Howells t Davies c 21-3
26m Paris t Radosavljevic c 21-10
35m Basham t Davies c 28-10
59m Radosavljevic t Radosavljevic c 28-17
62m Davies p 31-17
Dragons: Will Talbot-Davies, Dafydd Howells, Tyler Morgan, Tom Griffiths (Dixon 53), Owen Jenkins (Botica 62-68), Sam Davies, Luke Baldwin (Knoyle 52); Aaron Jarvis (Harris 60), Richard Hibbard (Lawrence 76), Leon Brown (Fairbrother 60), Joe Davies (Fry 66), Max Williams, Huw Taylor, James Benjamin (Screech 56), Taine Basham
Replacements: Rhys Lawrence, Brok Harris, Lloyd Fairbrother, Matthew Screech, Ben Fry, Tavis Knoyle, Jacob Botica, Jack Dixon
Castres Olympique: Benjamin Lapeyre (Batlle 67), Filipo Nakosi, Florian Vialelle, Yann David (Ebersohn 23), Taylor Paris, Ludovic Radosavljevic, Jeremy Fernandez (Fortunel 47); Wayan de Benedittis (Stroe 40), Kevin Firmin (Sauzaret 40), Paea Fa’anunu (Tierney 40-72), Kevin Gimeno (Samson 37), Hans N’Kinsi, Camille Gerondeau, Maama Vaipulu (Jelonch 58), Alex Tulou
Replacements: Paul Sauzaret, Tudor Stroe, Matthew Tierney, Christophe Samson, Anthony Jelonch, Thomas Fortunel, Robert Ebersohn, Armand Batlle
Referee: JP Doyle (Eng)