Calvisano (3) 17
Tries: Nitoglia, McKenzie Con: Buso Pen: Buso
Gloucester (19) 40
Tries: Lamb, Narraway, Bortolami, Foster, Penalty, Tindall Cons: Barkley 5
Lamb scored the first of Gloucester's six tries at the Centro Sportivo San Michele
Gloucester had to hold off a spirited second-half fightback from Calvisano as they recorded a bonus-point victory in Pool Six of the Heineken Cup.
Ryan Lamb got the scoreboard ticking over for Gloucester, and tries from Luke Narraway and Marco Bortolami put Gloucester 19-3 up at half-time.
Mark Foster's try secured the bonus for Gloucester, but two quick Calvisano scores closed the gap to nine points.
But a penalty try and a late Mike Tindall effort finished the game off.
The result gives renewed impetus to Gloucester's Heineken Cup campaign, following their loss to the Blues last time out.
Lamb started the scoring after 11 minutes after running in an interception from halfway, while number eight Narraway added a second with a pushover try from the base of a scrum.
As Gloucester increased the tempo, lock Bortolami finished off a fine move just before the break while Calvisano hooker and skipper Leonardo Ghiraldini was sin-binned on the stroke of half-time.
The home side took advantage of their numerical advantage and Foster claimed the fourth try at the start of the second half following a charge from Scotland international Alasdair Strokosch.
Olly Barkley added the conversion to put his side 23 points ahead but Gloucester took their foot off the pedal, allowing their opponents back into the game.
Italian wing Ludovico Nitoglia scored the first try and although Calvisano had lock Nicola Cattina dismissed for a swinging arm on Narraway, prop Ali McKenzie crossed for a second with seven minutes left.
The scores shocked Gloucester into a renewed effort and victory was sealed when they were awarded a penalty try after Narraway was prevented from touching down before Tindall intercepted to race clear for try number six.
Gloucester head coach Dean Ryan:
"I am satisfied with the outcome because we had to get a bonus point, and when you go into a game with that frame of mind you do things slightly differently from how you would normally.
"It's hard because you are effectively chasing a game from the off but we did what we had to do, got the job done and can now move forward to next week.
"The pitch was tight, small and heavy, but we did well to adapt to what was in front of us and did some good things without ever really getting into our stride."
Calvisano: McLean; Stanojevic, Mafi, Forcucci, Nitoglia; Buso, Patelli; Tui, Ghiraldini, Moreno, Beccaris, Treloar, Dal Maso, Zanni, Purll.
Replacements: M Pratichetti for Stanojevic (42), Griffen for Mafi (72), Fraser for Buso (62), McKenzie for Tui (41), Cattina for Beccaris (52), Persico for Treloar (75), D'Apice for Dal Maso (42).
Sin Bin: Ghiraldini (39).
Sent Off: Cattina (57).
Gloucester: Morgan; Foster, Watkins, Barkley, Vainikolo; Lamb, R Lawson; Dickinson, S Lawson, Nieto, James, Bortolami, Buxton, Strokosch, Narraway.
Replacements: Tindall for Watkins (58), Walker for Lamb (76), Lewis for R Lawson (47), Azam for S. Lawson (55), Eustace for James (77), Satala for Strokosch (70).
Not Used: Forster.
Ref: James Jones (WRFU).