Byron McGuigan scored two tries as Glasgow moved second in the Rabo Pro 12 thanks to a bonus-point win at Zebre.
A crazy opening 11 minutes saw each side touch down twice, with McGuigan and Alex Dunbar replying to scores from Dries van Schalkwyk and Tito Tebaldi.
McGuigan and James Eddie then crossed for second-half tries as Glasgow exploited some poor defending.
And Peter Murchie added a late score for the visitors as the Italian hosts tired at the Stadio XXV Aprile.
The game ended as a very one-sided affair but the opening 40 minutes were keenly contested, with both sides culpable of some sloppy work.
Nikola Matawalu was the star of the show after the interval but the Glasgow scrum-half started his afternoon with a loose pass that led to a storming interception try from van Schalkwyk.
McGuigan immediately raced down the left flank and weaved through a series of weak challenges to level the game.
The visitors appeared to still be celebrating when Tebaldi ran in for another Zebre try.
Matawalu then made amends for his errant pass with a nice side-step and offload for Dunbar to touch down.
Some sense of order was restored after the breathless opening and Scott Wright's penalty gave Glasgow the lead only for Daniel Halangahu to kick two before the interval to swing the score Zebre's way.
But the home side would not trouble the scoreboard again.
Graeme Morrison was sin-binned early in the second-half but Zebre failed to take advantage, with Filippo Ferrarini shown a yellow card for persistent infringements soon after.
Matawalu was starting to find more gaps and Glasgow moved ahead on 56 minutes when a looping pass from Ryan Wilson found McGuigan in the clear.
Finn Russell, who had just replaced Wight to make his debut, was wide with the conversion attempt and Halangahu followed suit from an easy-looking penalty in Glasgow's 22.
On the hour, Matawalu slipped through a couple of challenges before feeding replacement flanker Eddie on the wing for the visitor's fourth try and the bonus point.
The livewire Matawal then combined with Sean Kennedy and Tim Swinson to set up full-back Murchie, with Russell slotting over his second conversion.
Zebre: Tebaldi, Bacchetti, Quartaroli, Pratichetti, Castagnoli, Halangahu, Chillon, Aguero, Manici, Ryan, Van Vuren, Bortolami, Cristiano, Bergamasco, van Schalkwyk.
Replacements: Chiesa for Quartaroli (68), Benettin for Chillon (31), Perugini for Aguero (59), Festuccia for Manici (51), Redolfini for Ryan (51), Caffini for Bortolami (65), Ferrarini for Cristiano (41). Not Used: Martinelli.
Sin Bin: Ferrarini (47).
Glasgow: Murchie, R. Lamont, Dunbar, Morrison, McGuigan, Wight, Matawalu, Reid, Price, Welsh, Ryder, Swinson, Strauss, Barclay, Wilson.
Replacements: Russell for R. Lamont (57), Fainga'anuku for Reid (71), Brown for Price (61), Campbell for Swinson (69), Eddie for Barclay (58), Kennedy for Wilson (62). Not Used: Kalman, Thomson.
Sin Bin: Morrison (43).