Ulster moved up to second in the Pro12 after labouring to a 13-6 win over Zebre at a blustery Ravenhill.
Luciano Orquera and Tommaso Iannone slotted over early penalties as Zebre enjoyed the wind advantage.
Jared Payne provided a rare moment of class by surging through from deep for the try, with Ruan Pienaar's conversion giving Ulster a 7-6 lead at half-time.
Ulster dominated the second half but lacked a cutting edge and two Pienaar penalties secured the win.
The hosts faced a strong wind and struggled to adjust to the conditions in the opening 20 minutes.
Zebre took advantage against a team showing nine changes and Orquera fired over a fourth-minute penalty for the Italians.
The fly-half missed a second attempt before Iannone converted a penalty on 15 minutes to make it 6-0.
Ulster finally showed some rhythm when Paddy Wallace, making his first appearance after nine months out injured, and Robbie Diack threatened the Zebre line.
Payne went over for a fine individual try after 30 minutes, the centre breaking a tackle before sprinting through the middle to touch down and Ruan Pienaar added the extras.
Zebre went straight upfield from the restart and they opted for a line-out instead of a penalty, but an infringement ended their hopes of going in ahead at the break.
Ulster pressed from the restart with the wind at their backs and Pienaar rifled over a penalty in the 49th minute.
However, a combination of resolute Zebre defending and sloppy handling from the hosts meant Ulster failed to turn their dominance into points.
Pienaar extended the advantage to seven points with a penalty after 72 minutes.
Zebre rarely threatened in the second half and Ulster, despite a disjointed display, ran out comfortable winners.
Ulster: R. Andrew, Gilroy, Payne, Wallace, Allen, McKinney, Pienaar, Black, Annett, Lutton, Muller, Stevenson, McComish, Doyle, Diack.
Replacements: Nelson for Gilroy (78), McIlwaine for Wallace (65), Heaney for McKinney (68), Court for Black (57), Herring for Annett (57), Macklin for Lutton (76), McComb for Stevenson (76), Joyce for Diack (76).
Zebre: Palazzani, Sarto, Iannone, Quartaroli, Berryman, Orquera, Chillon, De Marchi, Manici, Chistolini, Geldenhuys, Bortolami, Cristiano, Ferrarini, Cattina.
Replacements: Leonard for Sarto (80), Ratuvou for Berryman (70), T. D'Apice for Manici (27), van Vuren for Bortolami (55), Caffini for Ferrarini (64). Not Used: Aguero, Redolfini, van Schalkwyk.
Ref: Neil Hennessy (Wales).