Nick Williams lit up Kingspan Stadium tonight with an electric two-try performance as Les Kiss' side dispatched a weak Zebre team with a bonus-point victory which keeps the pressure on the Guinness Pro12 top three.
While the Ulstermen defended well to keep a clean sheet, they struggled to put their chances away and had to wait until two minutes from time for replacement Paul Marshall to secure the bonus. The impressive Peter Browne had contributed the third on 60 minutes, but with two tries chalked off by marginal calls from the TMO and referee George Clancy, the Kingspan crowd had to sweat it out more than they would have hoped.
The win cements Ulster's fourth place in the Guinness Pro12 on 51 points, gaining one point on third-placed Scarlets who failed to land a bonus against Benetton Treviso.
Four changes to the Ulster starting XV included the entirety of the front row, with Rob Herring returning at hooker with props Kyle McCall and Ricky Lutton on either side.
The remainder of the pack went unchanged, with a second row of Browne and Franco van der Merwe lining up ahead of flankers Robbie Diack and Chris Henry, and Number Eight Williams.
The other change came with Rory Scholes, Edinburgh-bound at the end of the season, slotting in on the right wing after the hamstring injury sustained by centre Sam Arnold last week against Cardiff. This led to a reshuffling of the backs, with Stuart Olding moving into midfield alongside Luke Marshall, and Craig Gilroy starting at full-back.
Jacob Stockdale, Paddy Jackson and Ruan Pienaar retained their places at left wing, out-half and scrum-half respectively.
After wasting an early penalty to touch by kicking directly behind the try-line, Jackson fared better with a fifth-minute effort towards the posts, and again two minutes later when Zebre infringed for the fourth time with a high tackle on Marshall.
A rolling maul off the next penalty also paid dividends, Williams taking full advantage of the Ulster pack's superior drive to pile over for the try, converted by Jackson.
The Italians enjoyed a narrow escape on 25 minutes when Scholes' effort off the back of a scrum was overruled by the TMO for the blocking of a prospective tackler by Marshall, but there was no disputing Williams' second score on the half-hour as he piledrove through both Italian flankers off the next scrum to touch down.
Jackson converted again and although Zebre saw out the first period entrenched deep in the Ulster '22', a distinct lack of imagination - and an eventual knock-on - ensured that Ulster ran off with their scoresheet intact.
Half-Time Score Ulster 20 Zebre 0
Williams thought he had the hat-trick 10 minutes into the second period after an electrifying dummy and sprint from Marshall - only for the score to be cancelled out by Mr Lacey for an apparent knock-on from Herring.
Ulster came again on the hour after soaking up two fruitless spells of Zebre pressure, Browne stretching over the line after more good work from WIlliams and his fellow forwards five metres from home.
The Jackson conversion veered off-target, but with the fourth try now the sole priority, Zebre did well to bog Ulster down in defence for a good 10 minutes until, with only two minutes remaining, a sharp one-two between Jackson and replacement Darren Cave made the space for Olding to burst into the '22' and pick out recent entrant Paul Marshall at pace, the scrum-half doing well to hold onto the ball and dive over to tangible relief across East Belfast.
Full-Time Score Ulster 32 Zebre 0
Ulster (15 - 9) Craig Gilroy; Rory Scholes, Luke Marshall, Stuart Olding, Jacob Stockdale; Paddy Jackson, Ruan Pienaar
(1 - 8) Kyle McCall, Rob Herring (c), Ricky Lutton, Peter Browne, Franco van der Merwe, Robbie Diack, Chris Henry, Nick Williams
Replacements (16-23): John Andrew, Callum Black, Andrew Warwick, Roger Wilson, Sean Reidy, Paul Marshall, Sam Windsor, Darren Cave
Zebre (15 - 9) Mils Muliaina; Ulrich Beyers, Giulio Bisegni, Tommaso Castello, Kayle van Zyl; Edoardo Padavani, Fabio Semenzato
(1 - 8) Andrea De Marchi, Oliviero Fabiani, Dario Chistolini, Quintin Geldenhuys, Marco Bortolami, Emiliano Caffini, Federico Ruzza, Johan Meyer
Replacements (16 - 23) Emiliano Coria, Guillermo Roan, Pietro Ceccarelli, Gideon Koegelenberg, Luke Burgess, Ian McKinley, Giulio Toniolatti