Ulster needed just a half of rugby to secure their crucial four-try bonus point at Stadio Lanfranchi, adding three more in the second period to move above the Scarlets, heavily beaten at home by Glasgow Warriors, to fourth in the Guinness Pro12 with two rounds to play.
Jared Payne stood out with a hat-trick of tries within a 15-minute period, while Ruan Pienaar and Craig Gilroy contributed one apiece, and Tommy Bowe, in his first game of a season decimated by the knee injury he sustained in the Rugby World Cup, grabbed himself a brace.
Eight points now separate first-placed Leinster and Ulster in fourth on 60 points, with Warriors second on 66 and Connacht lying third on 63 with a game in hand. Perhaps more pertinently, any team from the Scarlets (58 points), Munster and Edinburgh (both 53) could still deprive Ulster of a play-off place, depending on how Rounds 21 and 22 pan out.
Bowe made his very first appearance of the campaign in Ulster colours after a seven-month lay-off, coming straight into the starting XV in the absence of Andrew Trimble, unavailable through illness.
Two other changes from the side that beat then-league leaders Connacht a fortnight ago brought in Stuart Olding for Stuart McCloskey at centre - the youngster having sustained a shoulder injury against Pat Lam's outfit - and saw Chris Henry drop to the bench to make way for Sean Reidy at flanker.
Payne continued at full-back with Gilroy on the left wing, Luke Marshall alongside Olding in midfield, Paddy Jackson at 10 and Pienaar at nine.
An unchanged front row of Callum Black, Rory Best and Ricky Lutton lined up ahead of Pete Browne and Franco van der Merwe, the South African lock earning his fiftieth cap in white and red. The back row of Reidy, Iain Henderson and history man Roger Wilson, making a record-breaking 204th Ulster appearance, completed the lineup, with Nick Williams still sidelined through injury.
In 20-degree Parmesan heat Ulster split open the Italian defence within three minutes, Jackson exploiting a gap down the left flank off Wilson's pass and supplying Pienaar just inside the '22' for a clear run to the posts, the out-half's conversion cementing a seven-point lead.
Zebre, with plenty to play for given that finishing above their compatriots Benetton Treviso will guarantee them a place in the 2016/17 European Rugby Champions Cup, responded immediately with a Guglielmo Palazzani try off the back of a forceful rolling maul, with Carlo Canna equalising with the conversion from out wide.
In the very next Ulster attack Payne rode a high tackle on his way into the '22', where Bowe instinctively cut inside off his wing and eliminated the sole obstacle in the form of lock Valerio Bernabo to mark his return with a score, once more converted by Jackson.
As the game followed its see-saw pattern Zebre failed to capitalise on a two-on-one with Canna and Matteo Pratichetti against van der Merwe, with referee Nigel Owens ruling that the Springbok had intentionally obstructed the out-half as he shaped to collect the ball. Canna dispatched the resultant penalty but the next Ulster foray was to prove yet more fruitful, as Gilroy just beat Dion Berryman to Pienaar's perfect chip towards the corner flag.
Jackson made it three conversions from three, and it wasn't long before a series of five-metre scrums culminated in a 39th-minute try in the right-hand corner for Payne, with Palazzani sent to the sinbin for illegally slowing down the ball in the build-up to the score.
Half-Time Score Zebre 10 Ulster 26
Payne nipped in for the fifth try three minutes from the restart after a sprightly diagonal run from Bowe and good distribution from Olding, with Pienaar now adding the extras as Jackson left the field with a dead leg, replaced by Darren Cave.
Multiple substitutions followed, with Rob Herring, Robbie Diack and Chris Henry taking over from Best, van der Merwe and Wilson, while Olding moved to the out-half berth vacated by Jackson. Ulster's fluency went undisturbed however, Payne registering his hat-trick on 52 minutes with Gilroy this time the provider.
Another Pienaar conversion extended the lead to 30, and although a fortunate bounce gave replacement full-back Ulrich Beyers an unobstructed run to the posts on the hour mark and a Canna conversion, Ulster overcame a spell of complacent play in the final quarter for Bowe to touch down in the last minute after Darren Cave had pounced on a loose ball well inside the Ulster half, Olding this time converting.
Ulster have a potential further 10 points to play for in the final two rounds, hosting interprovincial rivals and current league leaders Leinster on Saturday 30 April before travelling to Swansea to face the Ospreys a week later.
Full-Time Score Zebre 17 Ulster 47
Zebre (15 - 9) Kayle van Zyl; Dion Berryman, Giulio Toniolatti, Matteo Pratichetti, Leonardo Sarto; Carlo Canna, Guglielmo Palazzani
(1 - 8) Andrea Lovotti, Oliviero Fabiani, Pietro Ceccarelli, Quintin Geldenhuys (c), Valerio Bernabo, Jean Cook, Federico Ruzza, Gideon Koegelenberg
Replacements (16 - 23) Bruno Postiglioni, Andrea De Marchi, Dario Chistolini, Marco Bortolami, Luke Burgess, Ulrich Beyers, Tommaso Boni
Ulster (15 - 9) Jared Payne; Tommy Bowe, Luke Marshall, Stuart Olding, Craig Gilroy; Paddy Jackson, Ruan Pienaar
(1 - 8) Callum Black, Rory Best (c), Ricky Lutton, Pete Browne, Franco van der Merwe, Iain Henderson, Sean Reidy, Roger Wilson
Replacements (16 - 23) Rob Herring, Kyle McCall, Andrew Warwick, Robbie Diack, Chris Henry, Paul Marshall, Darren Cave, Rory Scholes