Tommy Seymour ran in two opportunist second-half tries as Glasgow Warriors extended their Pro12 winning run to five games on a rainy night in Italy.
In an error-strewn game, the winger pounced on a loose Treviso pass to kick the ball on and touch down.
And Seymour was on hand to finish off from close range as the officials failed to spot a knock-on from Scott Wight's chip into the corner.
Manoa Vosawai had finished off a drive to give Treviso a half-time lead.
However, the home side lacked spark in the final third against a well-organised Glasgow defence that had to cope with the loss of two players to yellow cards.
Ruaridh Jackson had kicked the visitors ahead with two penalties after missing a fourth-minute pop at the posts.
But Treviso hit back on 22 minutes when Vosawai bundled over as the Glasgow defence wilted following a powerful drive.
Kris Burton added the extras and knocked over a penalty soon after to give the hosts the edge at the interval.
Treviso made four substitutions early in the second half and the changes gave them the momentum, after Jackson had reduced the deficit with a penalty, but the Glasgow defence held firm in wretched conditions.
And Wight kicked Gregor Townsend's side ahead again just three minutes after replacing Jackson.
But replacement lock Tim Swinson was shown a yellow card for bringing a Treviso drive down and Tobias Botes nudged the Italians ahead with a penalty.
Seymour grabbed both of his tries during the time Swinson was sin-binned, the first coming on 69 minutes.
A stray pass from the back of a Treviso scrum bobbled around under the posts and the Nashville-born winger was alert enough to get a toe to the ball before plunging down on it.
Wight knocked over the conversion and had a big part to play in Glasgow's second score.
The substitute stand-off lofted a clever kick into the corner in the direction of skipper Al Kellock and Seymour picked up the scraps from what was a rather obvious knock-on to spring over the line.
With Wight missing the conversion attempt, that was to be the last of the scoring as Glasgow held on with ease despite Ofa Fainga'anuku picking up a foolish yellow card just a few minutes after coming off the bench.
Treviso: McLean, Loamanu, Benvenuti, Sgarbi, Iannone, K. Burton, Botes, Rouyet, Sbaraglini, Di Santo, Minto, van Zyl, Favaro, Zanni, Vosawai. Replacements: Semenzato for K. Burton (46), Rizzo for Rouyet (57), Ghiraldini for Sbaraglini (57), Cittadini for Di Santo (38), Pavanello for van Zyl (57). Not Used: Bernabo, Filippucci, Williams.
Glasgow: Murchie, Seymour, Hogg, Dunbar, Matawalu, Jackson, Pyrgos, Grant, Gillies, Cusack, Ryder, Kellock, Harley, Barclay, Wilson. Replacements: Wight for Jackson (55), Reid for Grant (65), Fainga'anuku for Cusack (71), Swinson for Ryder (56). Not Used: Horne, Eddie, Nathan, Paris.
Sin Bin: Swinson (61), Fainga'anuku (75).
Ref: Leo Colgan (IRFU)