It took man-of-the-match Nick Williams to fire them up initially with two first-half tries with Peter Browne grabbing another and replacement scrum-half Paul Marshall getting that vital fourth try two minutes from the end. Paddy Jackson chipped in with three conversions and couple of penalties as Ulster remain fourth.
It was two rapid-long-range penalties in the opening 10 minutes by Jackson that set the platform for Ulster who had immediately taken control. Looking to make up for a series of lacklustre performances which had seen them slip from top to fourth, Ulster reinforced their solid start within a try in the 11th minute when Williams crashed over following a big line-out drive. With Jackson converting Ulster were 13 points to the good in as many minutes.
Ulster did have a Rory Scholes try deleted from the scoresheet due to crossing. However, it was wrecking-ball Williams who did get Ulster rolling again on the half-hour with a pick-up and drive from number eight to grab his second try, Jackson again adding the extras.
There was not a lot to shout about on the run-up to half-time, with Zebre unable to break their duck. Ulster had another try strangely disallowed in the 50th minute which denied Williams his hat-trick. Ulster finally broke through again in the 62nd minute with the excellent Peter Browne diving over following a ruck. It looked as if Ulster were going to be denied by the plucky Italians, until one last-gasp handling movement from deep with Marshall on the end to dive over at the posts.
Tries: Williams 2, Browne, P. Marshall. Cons: Jackson 3. Pens: Jackson 2
Gilroy, Scholes, L. Marshall, Olding, Stockdale, Jackson, Pienaar, McCall, Herring, Lutton, Browne, van der Merwe, Diack, Henry, Williams.
Cave for L. Marshall (64), Andrew for Herring (58), Reidy for Browne (66), Wilson for Williams (64).
Muliaina, Toniolatti, Bisegni, Castello, Van Zyl, Padovani, Semenzato, De Marchi, Fabiani, Chistolini, Geldenhuys, Bortolami, Caffini, Meyer, Ruzza.
George Clancy (Ireland).