Saints secured a much-needed morale-boosting victory as they put the Dragons to the sword at Rodney Parade on Friday night.
Chris Boyd's men were in total control by half-time as they raced into a 21-0 lead.
The Dragons had produced a horrible first 40 minutes, making countless errors and losing two players to the sin bin.
But they at least made things slightly respectable in the second period, scoring three times before eventually being beaten 35-21.
For Saints, who had won just two of their first seven games in all competitions, it was a shot in the arm and a crucial bonus-point success to ignite their Challenge Cup campaign.
David Ribbans had endeared himself to the away fans early on as he not only caught the kick-off but soon notched his team's first try, powering over after some patient play.
Dan Biggar kicked the conversion to make it 7-0 after just five minutes, and Saints quickly won a scrum penalty as they sought to stamp their mark on the game further.
But scrum-half Alex Mitchell's pass was intercepted, allowing the Dragons to race upfield before eventually kicking the ball out of play inside the Saints 22.
It wasn't long before Mitchell made up for his error as he scored on his first Saints start, supporting Biggar superbly, with the fly-half having made a brilliant break through the middle before timing his pass to perfection.
Biggar also added the extras from close to the touchline to make it 14-0, and Saints were all over the Dragons, who were really struggling during the formative stages of the game.
The home side had missed touch on two occasions before ironic cheers greeted a third, more successful, attempt.
But Saints defended the drive well, winning the ball back as their strong start continued.
And Dragons were soon down to 14 men as, after winning a scrum penalty, Saints kicked to the corner, eventually putting the squeeze on and sending Lewis Evans into the sin bin.
It didn't take long for Saints to make the extra man count as they ramped up the pressure from a dominant maul, forcing French referee Mathieu Raynal to award a penalty try.
Wing Adam Warren was sent to the sin bin after that Saints score and the Dragons' night was going from bad to worse.
They even summed it up by attempting a penalty from close to the touchline near halfway, with the kick drifting aimlessly into the hands of Taqele Naiyaravoro, who was standing well wide of the posts.
Dragons headed off the field at half-time 21-0 down and desperately needed to summon some sort of second-half response after a shocking first 40 minutes.
Biggar was withdrawn by Saints at the break, bringing James Grayson into the action, but Dragons were to start strongly, scoring five minutes into the second half.
A penalty won at the breakdown earned the chance to kick to the corner and the Dragons gave Saints a taste of their own medicine, getting a good shove on for Elliot Dee to score.
Josh Lewis converted to cut the gap to 14 points, reigniting belief in the home camp.
But Saints soon extinguished it as they went straight back up the other end and bagged their bonus-point try after a spell of forward pressure.
Grayson added the extras to restore the 21-point advantage and the home fans then opted to vent their frustration in the direction of referee Raynal and his fellow officials.
An abundance of time was being wasted at scrums, but when the game did finally get going again, the Dragons found space to score, with Jarryd Sage the man springing the surprise.
Lewis converted, but Saints again responded well, with Cobus Reinach stealing the ball and using his searing pace to break away from halfway to score.
Grayson converted superbly from the touchline and the result had been put beyond any doubt with 10 minutes to go.
Dragons were determined to finish with a flourish and they were awarded a penalty try from the final play of the game, with Reinach being shown a yellow card before the final whistle was blown.
Dragons: J Williams; Kirchner, Morgan, Sage, Rosser (Warren 11); Lewis, R Williams (Davies 65); Harris (Jarvis 71), Dee (Hibbard 71), Brown (Fairbrother 52); Evans, Hill (c); Wainwright, Griffiths (Taylor 66), Moriarty.
Saints: Tuala (Burrell 70); Collins, Kellaway, Francis, Naiyaravoro; Biggar (Grayson 40), Mitchell (Reinach 63); Waller (c) (van Wyk 62), Haywood (Fish 70), Franks (Painter 58); Ribbans (Barrow 62), Lawes (Ludlam 70); Gibson, Wood, Harrison.
Referee: Mathieu Raynal