Ospreys climbed into sixth place in the United Rugby Championship table with a laboured victory over bottom side Zebre.
Tries from Sam Parry, Morgan Morris and Will Griffiths and 12 points from fly-half Stephen Myler sealed the victory.
It was a fourth successive home win for Toby Booth's side.
Zebre responded with 17 points from fly-half Antonio Rizzi and a try from lock Liam Mitchell as they secured a losing bonus point.
The Italians are still searching for their first win of the season and have only two league points.
Wales flanker Dan Lydiate impressed on his first start in 13 months, while his back-row colleagues Morris and Ethan Roots provide some dynamic ball-carrying in an unconvincing team performance.
Lydiate had returned from the bench two weeks ago after a year on the sidelines with a knee injury.
His inclusion was one of two changes from the 29-7 defeat at Leinster with Harri Deaves dropping to the bench and lock Rhys Davies returning instead of Griffiths.
Zebre were without six players on Italy international duty but welcomed back scrum-half Nicolo Casilio from injury.
Myler opened the scoring before Ospreys' indiscipline allowed Rizzi to slot over two kicks.
Hooker Parry was driven over before a needless penalty conceded by Rizzi provided the platform for Morris to power through the Zebre defence.
Ospreys led 17-6 at half-time but Zebre regained the lead with a 13-point scoring spree.
Rizzi kicked two penalties and converted a breakaway Mitchell try that originated following a storming break from wing Asaeli Tuivuaka.
Myler restored the lead before Ospreys rung the changes, including a first appearance for Wales hooker Scott Baldwin since rejoining the region.
Full-back Jacopo Trulla was shown a yellow card for a deliberate knock-on, although a penalty try was not awarded by referee Andrew Brace.
Ospreys capitalised on the numerical advantage as replacement Griffiths scored the hosts' third try, again converted by Myler.
Rizzi brought Zebre to within a score with his fifth penalty as Ospreys held on for the victory but missed out on a bonus point.
Ospreys: Evans; Giles, Collins, K Williams, L Morgan; Myler, Webb (capt); Smith, Parry, Botha, R Davies, B Davies, Lydiate, M Morris, Roots.
Replacements: Baldwin, R Jones, Henry, Griffiths, Deaves, Morgan-Williams, Thomas-Wheeler, Protheroe.
Zebre: Trulla; D'Onofrio, Cronjé, Lucchin, Tuivuaka; Rizzi, Casilio; Buonfiglio, Ceciliani, Bello, Mitchell, Leavasa, Andreani, Bianchi, Giammarioli (capt).
Replacements: Ribaldi, Lovotti, Neculai, Stoian, Fox-Matamua, Palazzani, O'Malley, Laloifi.
Referee: Andy Brace (IRFU)
Assistants: Gwyn Morris & Wayne Davies (WRU)
TMO: Joy Neville (IRFU)