England centre Andy Farrell tries to get through the Viadana defence
Viadana (26) 26
Tries: Erasmus 2, Robertson, Bortolussi
Cons: Howarth 3
Saracens (3) 34
Tries: Penalty, Seymour, Haughton
Cons: Jackson 2
Pens: Jackson 5
Saracens produced a stunning second-half fightback to avoid a shock defeat to Italian minnows Viadana.
The hosts went 26-3 up at the break with a brace from Jaco Erasmus and one apiece from Kaine Robertson and Steven Bortolussi to earn a bonus point.
But Saracens hit back after half-time and levelled up the game with a penalty try, a score from David Seymour and three Glen Jackson penalties.
The win was sealed with another Jackson penalty and a Richard Haughton try.
Haughton's score, which came four minutes into stoppage time after he rounded two forwards on the wing, broke the hearts of a Viadana side that have yet to win a game in this year's competition.
Viadana, who had lost 71-7 to Saracens last weekend, were clearly taking this game more seriously and made 10 changes - with recalls for Italian internationals Kaine Robertson and Josh Sole.
And it was Sole's sin-binning on 57 minutes, with the score poised at 26-16, that proved critical.
While the flanker was off the field, Saracens pulled the score level with a Jackson penalty and Seymour's converted try, which was created by Haughton's mazy run.
The Sarries victory puts them top of Pool Four, two points clear of French side Biarritz, who they meet next at Vicarage Road in January.
But there will be concerns over the fitness of hooker Matt Cairns, who had to leave the pitch after just five minutes with an injured arm.
Saracens Director of Rugby Alan Gaffney:
"Clearly, I wasn't a happy man at half-time but there was no point ranting or raving.
"In years gone by this side would probably have folded in the second half but it showed superb character to come back and we can be proud of that.
"Now we go into the final rounds of the competition in an excellent position at the top of the group.
"But we won't be letting the win disguise the fact that we were very poor in the first half - we won't be hiding from that."
Viadana: Bortolussi; Robertson (capt), Law, Harvey, Pace; Howarth, McGrath; Alonso, Ferraro, Rouyet, Waller, Geldenhuys, Sole, Birchall, Erasmus.
Replacements: Moretti, De Bonis, Bezzi, Benatti, Pilat, Harding, Accorsi.
Saracens: B Russell; Haughton, Sorrell, Farrell, Ratuvou; Jackson, De Kock; Yates, Cairns, Visagie, Vyvyan, Chesney, Gustard, Seymour, Skirving.
Replacements: Ongaro, Mercey, Fullarton, Ryder, Rauluni, Powell, Penney.