Steve Tandy’s side had won just one of their previous seven games, in all competitions, including three defeats at home.
But the fly-half proved a match winner with seven kicks as Ospreys came from behind to beat the Italians.
Tylor Ardron and Duncan Jones, with his first try since September 2009, both scored in the space of four minutes as Ospreys leapt ahead of Glasgow in the RaboDirect Pro12.
But a string of missed chances cost them a bonus point against the league’s bottom side who scored tries of their own through Filippo Cristiano and Samuela Vunisa.
Joe Bearman was guilty of squandering the first chance. The No. 8 surged through but ignored Scott Baldwin out wide and opted to kick instead, only to aim straight at Zebre’s full-back.
Ardron then fumbled possession as he stretched out for the line.
Morgan kicked two penalties but his pass was intercepted and despite tracking back, Cristiano pounced on the lose ball to hand Zebre a shock lead on 13 minutes.
Richard Fussell then blew an overlap with a wayward pass as Ospreys trailed 13-9 before another brace of penalties by Morgan.
Man of the match Sam Lewis was involved in both tries as Ospreys surged 27-13 ahead on 48 minutes.
The flanker followed Hanno Dirksen’s break before Ardron crossed and was on-hand again after Morgan’s break that lead to Ben John handing Jones only his fourth try in 197 appearances for the region.
Vunisa struck back for Zebre but was later binned and Morgan kicked the Ospreys to victory.