The home side's captain Rhys Williams also posted a try double, while substitutes Craig Quinnell and Robin Sowden-Taylor touched down in the second-half, with Nicky Robinson booting four conversions and a penalty, and Lee Thomas slotting a conversion.
Calvisano's tries came from Jacobus van Schalkwyk and Maurizio Zaffiri.
Perpignan held on for a nailbiting 12-8 win in the other Pool Two game despite a late flourish by Leeds Tykes.
Leeds had led for most of the game thanks to David Doherty's try and a penalty by captain for the day Gordon Ross.
But a second try by Samueli Dawai Naulu on 64 minutes proved enough to separate the sides despite a late surge by Leeds, who were at least rewarded with a bonus point.
The Tykes must now win their remaining matches away against Calvisano and at home against Cardiff with bonus points to have any chance of topping the group.
Biarritz remained in control of Pool Four with a 38-24 victory over Benetton Treviso at Stadio Comunale di Monigo.
But Biarritz, who scored six tries, were made to work for their victory by a strong Italian challenge that was rewarded with a bonus point as Treviso scored four tries of their own.
Thomas Lievremont scored twice in the first half for Biarritz but Antonio Pavanello and Marius Goosen replied for the home side, who trailed 14-12 at the break.
But Fijian wing Sereli Bobo went over twice as well as Benoit August and Philippe Bidabe to secure the win.
Salvatore Garozzo's late try earned Treviso the bonus point.
Saracens kept alive their hopes of qualifying for the quarter-finals with an 18-10 victory over Ulster.
Tries from Ben Skirving and Kevin Yates helped lift them above their opponents in Pool Four, with wins required from their remaining matches against Treviso and Biarritz to send them through to the knockout stages.
Ulster crossed through Tommy Bowe in the first half but their challenge wilted after the break when Saracens dominated and their chances of progressing in the competition appear to be over.
Munster's 22-game unbeaten record at Thomond Park came under severe scrutiny from the Dragons but 15 points from the boot of Ronan O'Gara and a late try from Jerry Flannery saw the Irish province secure a 30-18 victory.
The Welsh visitors, smarting from last weekend's 24-8 loss at Rodney Parade, put in a sterling effort which saw them rattle the men in red, who now lie five points behind Pool One leaders Sale ahead of the final two rounds.
Mick O'Driscoll and Steve Jones shared first-half tries but Anthony Foley's try after the break extended Munster's advantage.
But a penalty from Ceri Sweeney and a scintillating converted try from replacement Kevin Morgan, just past the hour mark, pushed the visitors into an 18-17 lead.
An immediate penalty brace from O'Gara, though, allied to hooker Flannery's late push-over try, quelled the Dragons' fire.
Stade Francais kept up the pressure on Pool Three rivals Leicester Tigers as they picked up their first try bonus point after completing the double over fellow French championship side Clermont Auvergne with a 47-28 win.
Having struggled to score one try in their 16-12 triumph in Clermont last weekend, the Parisians turned on the style at a packed Stade Jean Bouin to run in six to move ahead of Leicester with 14 points.
Wales outside half Stephen Jones gave the visitors the lead with an early penalty, but Stade Francais were 15-13 ahead by the interval thanks to tries from scrum-half Jerome Fillol and prop Rodrigo Roncero. France wing Aurelien Rougerie crossed for the visitors.
After the break, home hooker Benjamin Keyser extended the lead, although a smart score from Springbok wing Breyton Paulse cut the gap to six points after 50 minutes.
But Stade were able to turn up the heat in the final quarter and a brace of tries from right wing Lucas Borges and another from flanker Pierre Rabadan guaranteed the bonus point.
Leinster's European Cup hopes were left hanging by a thread after an injury-time penalty from Alexandre Peclier saw Bourgoin pip the Irish province 30-28 at Stade Pierre Rajon.
The result - Leinster's second defeat in Europe this season - now sees Pool Five pace-setters Bath armed with a healthy seven-point lead over Michael Cheika's side with just two rounds remaining.
Peclier's dagger-like kick came after a superb revival from the visitors.
Leinster were left trailing 27-13 six minutes into the second half through a converted try from David Venditti but two touchdowns in the space of three minutes from inspirational captain Felipe Contepomi (53) and new wing wonder Robert Kearney (55) turned a bruising encounter, in which four players were sin-binned, on its head.
A Contepomi penalty pushed Leinster 28-27 in front on the hour but they could not hold on.