The Dragons scored five tries as they ended a run of four games without a win in the Magners League.
Adam Hughes, Aled Brew and Ashley Smith crossed in the first half, with Treviso's only score coming from Kris Burton's penalty.
Burton reduced the home advantage to 19-10 as he converted his own try in the opening minutes after the break.
But Jason Tovey created further tries for Brew and Will Harries with neat kicks to secure a bonus-point victory.
The victory moves the Dragons above Connacht into seventh place in the table, 15 points outside the top-four play-off places.
Treviso, who have now lost six games in a row since since their 19-18 victory over table-topping Munster, remain one place off the bottom.
Hughes gave the home side a perfect start when he showed great determination to collect his own kick ahead to score the opening try with five minutes on the clock.
Tovey missed a penalty five minutes later that should have extended the lead, but the Dragons looked well set to go on to dominate their Italian visitors.
That failed to materialise, though, as the formidable Treviso forwards began to make their presence felt.
And the home side were indebted to great defensive play by Brew for preventing a try by firstly knocking the ball lose from the grasp of a marauding Treviso forward, and then protecting the loose ball yards from his own tryline, giving Tovey a chance to clear.
After those rather uncomfortable 10 minutes, the Dragons suddenly began to turn the screw and they ended the half by scoring two superbly worked tries.
The forwards came within yards of crossing from a driving line-out but the visitors had no answer when Smith's crafted inside kick was collected by Brew, giving the winger a clear run in from 20 yards.
Brew was a touch fortunate as his dramatic dive over the line almost resulted in the ball slipping from his grasp before touching down.
The second try was all Toby Faletau's work as he pierced the Treviso defence with a hint of dummy pass and a strong hand-off, before releasing Smith on his right shoulder to score under the posts.
Tovey converted both scores but the visitors had the final say of the half as Burton landed a penalty.
The Australian-born fly-half further reduced the deficit immediately after the break with Treviso's only try.
The Dragons defence lacked its first-half intensity, allowing the visitors to go through several phases inside the home 22, and eventually gave Burton an easy path to the line from five yards.
Burton converted his own try, making it 19-10, but he then missed a relatively easy penalty attempt that would have brought his side within a score.
Tovey followed suit after the Dragons had survived a difficult 20 minutes without conceding despite impressive attacking from the visitors in open play.
But the fly-half soon made amends as two perfectly weighted kicks created two tries in three minutes that wrapped up the victory.
Brew showed great pace to outstrip the Treviso defence to collect Tovey's grubber kick for the fourth try, which ensured the bonus point.
The validity of the score was again thrown in doubt as the winger seemed to lose control of the ball in the process of grounding but again the video referee gave him the benefit of the doubt.
Tovey's next piece of creativity came from inside his own half as a chip kick this time found space behind the defensive line, and Harris matched Brew by showing the Italians a clear pair of heels as he ran in from near the halfway line.
Hughes took over the kicking duties and comfortably converted both scores.
A fruitless and pointless afternoon for the visitors in Newport ended with replacement Gonzalo Padrò spending the final five minutes in the sin-bin for a petulant slap on Dragons scrum-half Wayne Evans.
Dragons: Martyn Thomas; Will Harries, Adam Hughes, Tom Riley, Aled Brew; Jason Tovey, Wayne Evans; Phil Price, Lloyd Burns, Ben Castle, Luke Charteris (c) Adam Jones, Danny Lydiate, Lewis Evans, Toby Faletau.
Replacements: Steve Jones, Hugh Gustafson, Dan Way, Gavin Thomas, Andrew Coombs, Joe Bearman, Jon Evans, Ashley Smith.
Tries: Hughes, A. Brew 2, Smith, Harries. Cons: Tovey 2, Hughes 2.
Treviso: Luke McLean; Michele Sepe, Alberto Sgarbi, Gonzalo Garcia, Andrew Vilk; Kristopher Burton, Fabio Semenzato; Ignacio Fernandez Rouyet, Leonardo Ghiraldini, Lorenzo Cittadini, Antonio Pavanello (c), Corniel Van Zyl, Manoa Vosawai, Benjamin Vermaak, Robert Barbieri.
Replacements: Diego Vidal, Michele Rizzo, Pedro Di Santo, Valerio Bernabò, Gonzalo Padrò, Paul Derbyshire, Simon Picone, Brendan Williams.
Tries: Burton. Cons: Burton. Pens: Burton.
Referee: Peter Fitzgibbon (Ireland)