Connacht earned a crucial 57-34 bonus-point win over to Zebre in the United Rugby Championship in Parma.
Dylan Tierney-Martin scored an early hat-trick and further tries from Tiernan O'Halloran and Caolin Blade ensured a comfortable half-time lead.
Zebre battled back with tries from Erich Cronje, Josh Furno and two from Simone Gesi either side of the break.
However, Diarmuid Kilgallen, Adam Byrne, Kieran Marmion and Eoin de Buitléar gave Connacht an emphatic win.
Connacht were able to call upon Caolin Blade and Cian Prendergast, who are members of Ireland's Six Nations squad, as they sought to ensure a much-needed bonus point win to remain in contention for Champions Cup qualification.
Zebre's losing streak at home now extends to eight matches.
The visitors got off to a strong start, with hooker Tierney-Martin securing the ball at the back of a lineout maul and steering over to give his side an early lead.
Tierney-Martin scored a further two tries in similar fashion to complete an impressive hat-trick in the first half-hour.
Zebre scored a try against the run of play from winger Gesi but Connacht's domination continued with an opportunistic try from full-back O'Halloran to give his side the bonus point, and the province scored again with a well-worked blindside move finished by scrum-half Blade just before the break.
Despite a try shortly after the break from Connacht winger Kilgallen, which should have put the game beyond doubt, Zebre battled back into the game with a sloppy period and poor defensive effort from Connacht in the third quarter of the game.
The hosts hit back with a more direct approach, with Cronje and Furno both powering over in quick succession.
A further try from winger Gesi made the score 34-38 as the game went into the final quarter on a knife-edge.
However, the hosts faded in the closing stages and Connacht took advantage of Zebre's tired defence, scoring through substitute Byrne, before scores from Marmion and debutant de Buitlear rounded out the high-scoring victory.
Zebre: Pani; van Wyk, Cronje, Lucchin (capt), Gesi; Eden, Cook, Rizzoli, Manfredi, Nocera; Krumov, Furno; Andreani, Kvesic, Licata.
Replacements: Ribaldi, Buonfiglio, Hasa, Uys, Ruggeri, Jelic, Rizzi, Kriel.
Connacht: O'Halloran; Kilgallen, Farrell, Forde, Porch; Carty (capt), Blade; Buckley, Tierney-Martin, Aungier; Murphy, Murray; Prendergast, Oliver, Butler.
Replacements: de Buitlear, Duggan, Illo, Murray, Hurley-Langton, Marmion, Daly, Byrne.