Ospreys claimed their first win in Conference A of the expanded PRO14, but it was far from convincing against Zebre 22-13 at the Liberty Stadium.
Missing some key players, the hosts failed to build on two first-half tries from wing Keelan Giles and prop Ma'afu Fia as the Italians dominated the second half, with Italy fly-half Carlo Canna, claiming a converted try and a penalty.
That was before Giles went over for his second try in injury time to relieve some pressure after Zebre had reduced the Ospreys lead to 15-13. Ospreys had led 15-3 at half-time.
James Hook, who was named at fly-half in his first start for the region after six years, kicked a penalty and a conversion, while centre Cory Allen, making his first competitive start since joining from Cardiff Blues, was named man of the match.
British & Irish Lions flanker Justin Tipuric started for Ospreys, but his fellow Lions Dan Biggar, Rhys Webb and Alun Wyn Jones are not due to return until late September.
The match also saw prop Paul James equal Duncan Jones' appearance record of 233 matches. It took Ospreys all of three minutes to grab their first competitive try of the season. After some impressive build-up play, Hook's long pass to Tipuric sent Giles over for the score.
Though Hook looked in good form with ball in hand, he missed the conversion. Zebre replied six minutes later with a penalty for Canna after the visitors had threatened Ospreys' line.
There was a further setback for Ospreys after 12 minutes when centre Ben John was sent to the sin bin for a dangerous challenge in the air on Giulio Bisegni. That rather took the wind out of the home team's sails, but Hook restored his side's five-point advantage with a penalty on 23 minutes.
Canna had a chance to reduce the 8-3 lead just before the break, but pushed his 40-metre effort wide of the target. And with the last play of the half prop Fia crashed over under the posts, with Hook's conversion giving Ospreys a 12-point interval lead.
The second half was not a minute old when Ospreys conceded a penalty in front of their posts. Canna kicked it from 40 metres. But Zebre were reduced to 14 men after lock George Biagi was yellow-carded following an illegal tackle on Tipuric on 55 minutes.
Ospreys then replaced Hook with Sam Davies on the hour mark. Despite being down a man, Zebre pressured Ospreys' line until Jeff Hassler snuffed out the attack with a concerted man-and-ball tackle.
But on 73 minutes Zebre grabbed a well-deserved try for Canna after a break up-field by replacement Ciaran Gaffney. Canna converted his own score from the touchline as Ospreys' lead was cut to only two points. But the pressure was released in injury time when Giles went over down the right from a kick through by Sam Davies, who also converted.