Having trailed to the winless Parma club 20-17 at half-time, Glasgow scored three unanswered tries after the break to secure victory.
Zebre enjoyed the better of the first period, twice leading through tries from Dries van Schalkwyk and Tito Tebaldi, cancelled out by Byron McGuigan and Alex Dunbar in a quickfire opening 12 minutes.
Scott Wright's penalty gave Glasgow the lead but Daniel Halangahu kicked two before the interval to swing it Zebre's way.
But it was all Glasgow in the second half.
Finn Russell missed the conversion on McGuigan's second try in the 56th minute but made no mistake after further scores from James Eddie and Peter Murchie.
Halangahu's missed penalty was as close as Zebre got to scoring in the second period.