Bath came from behind to seal a narrow victory against Zebre and reach the European Challenge Cup quarter-finals despite Pierre Bruno's hat-trick.
The hosts led through two Bruno tries but Joe Cokanasiga hit back for Bath.
Bruno completed his hat-trick midway through the first half but Bath prop Will Stuart cut the Italians' lead.
Beno Obano and Anthony Watson edged Bath ahead and although two Paolo Pesetto penalties set up a tense finale Jacques du Toit's try sealed victory.
The result means Bath, who dropped out of the Champions Cup having finished 10th in Pool A with just one point, have now won 11 in a row against Italian opposition.
Bruno's 23-minute hat-trick was the fifth-fastest in the history of the European Challenge Cup as the Italian side kept up their good form in this season's competition.
They came into the match unbeaten in their previous four Challenge Cup games having finished fifth in this season's preliminary stages and started well, racing into a 14-0 lead.
But Bath managed to slowly exert control and Obano capped his 100th Bath appearance by powering over to level the scores at 21-21 soon after the break.
With their scrum now well on top the visitors edged clear but Zebre came again to cut the lead to one point, and it was only with the final play of the game they ensured victory as Du Toit burrowed over from a driven line-out.
Zebre: Di Giulio; Bruno; Boni (capt), Lucchin, D'Onofrio; Canna; Violi; Fischetti, Bigi, Zilocchi, Sisi, Nagle, Leavasa, Mbanda, Giammarioli
Replacements: Fabiani, Lovotti, Bello, Krumov, Bianchi, Renton, Pescetto, Mori
Bath: Watson; Rokoduguni, Clark, Ojomoh, Cokanasiga; Bailey, B Spencer; Obano, Walker, Stuart, McNally (capt), Stooke, Reid, Underhill, Faletau
Replacements: Du Toit, Bhatti, Thomas, W Spencer, Bayliss, Chudley, Wright, Gray
Referee: Pierre Brousset (FFR)