A first-half try from Dowson (right) set Northampton on their way to victory
Northampton went top of Heineken Cup Pool One with a hard-fought win away to Treviso in north east Italy.
Marius Goosen gave the hosts the lead with a penalty but Saints led 7-3 at the break after Phil Dowson went over.
Jon Clarke added a second Northampton try early in the second half before the hosts hit back with an Emiliano Mulieri try and Tobias Botes penalty.
But Courtney Lawes scored a third try for Northampton and a late penalty try was not enough for the hosts.
The match was delayed for more than an hour while snow was shovelled from the pitch and when the match finally got under way Northampton struggled to put their opponents away.
However, despite failing to earn a bonus point Saints will be happy to have escaped with a win, with Treviso having beaten French champions Perpignan at the Stadio Comunale di Monigo earlier this season.
Irish side Munster, who started the day on top of the pool, have a chance to regain top spot when they travel to Perpignan on Sunday.
Treviso coach Franco Smith: "We have shown in the two games with Northampton that we are up there at a level where we can compete in the Heineken Cup.
"If we were able to play regularly at this level, we are good enough to get a result. But the difference was a lack of concentration at crucial moments of the game, especially in defence.
We made a few specific errors, such as missed tackles, but that is a problem when you are not used to playing against such strong opponents every week.
"We made mistakes at the end of the first-half and beginning of the second-half, but I'm happy with the way we came back."
Northampton Saints director of rugby Jim Mallinder:
"It's a very difficult place to play. They're a good side, as they showed last week.
"They scrum well, they maul well, they contest the ball at the breakdown and they've got a big kicking game.
"We made far too many mistakes. We can't blame the preparation. It doesn't help when the kick-off keeps getting pushed back but we were poor in the first-half.
"It was always about whether the game would be played or not, but good players prepare for every single game."
Treviso: McLean; Mulieri, Sgarbi, Garcia, Vilk; Goosen, Picone; Rizzo, Ghiraldini, Rouyet, A Pavanello, van Zyl, Vermaak, Zanni, Kingi.
Replacements: Botes for Picone (47), Allori for Rizzo (57), Vidal for Ghiraldini (78), Di Santo for Rouyet (37).
Not Used: E Pavanello, Filippucci, Semenzato, Waters.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.