Munster made it back-to-back bonus point wins in the RaboDirect PRO12, but Zebre made them work hard for their haul at the Stadio XXV Aprile in Parma.
CJ Stander crossed for two tries for Munster, but Rob Penney will not have been impressed with a sloppy opening half and the concessions of an audacious try from Luciano Orquera.
But despite trailing by nine points at half-time Munster recovered well after the restart and Stander's brace allied to further tries from Paddy Butler and replacement Ian Keatley, and a super kicking display from JJ Hanrahan got their Italian journey off to a winning start.
The opening half proved a huge disappointment for Munster who went in at the break trailing by 18-9, having conceded two tries, with both Italian five-pointers utterly avoidable.
The game had started very well for Rob Penney's side who took the lead after four minutes when JJ Hanrahan – promoted to the starting number ten shirt for the night – slotted a penalty.
The Kerry man doubled Munster's advantage 12 minutes later after a powerful Munster shove at a scrum on halfway, but by the 19th minute they were on the back foot as Orquera crossed for a try in bizarre circumstances.
The Munster pack were penalised for failing to roll away from the tackle inside their 22 and after appearing to assume Orquera was going for the posts the defence switched off. But the wily fly-half spotted a gap and just made across the line after a quick-tap penalty to leave an embarrassed Munster 8-6 behind.
Hanrahan edged Munster back in front in the 32nd minute from a penalty incident, which also saw Fijian centre Kameli Ratuvou sin-binned for a tip tackle on Andrew Conway. But from there to the break it was the Italians that dominated – despite their numerical disadvantage.
Orquera kicked a 35th-minute penalty before hooker Andrew Manici scored a terrific try for the home side, but some missed tackles by Munster will have annoyed the management team as they trailed by nine at half-time.
But thankfully for Munster, the second-half proved an altogether better performance as Penney's men ran in four tries to take the bonus point win.
But it was a 45th minute penalty from Hanrahan that settled Munster and brought them to within six points of Zebre, and Paddy Butler crossed for Munster's first try of the night a minute later, and Hanrahan's conversion meant Munster took a 19-18 lead.
At this stage Munster began to gain the upper hand and after forcing a penalty at the breakdown, Hanrahan pushed his side into a four-point lead soon after.
Just short of the hour mark Stander claimed the first of his two tries after he finished off some sustained pressure with a score, confirmed by the TMO, but Orquera kept Zebre within touching distance with a 64th minute penalty to leave it 29-21 to Munster.
But there was no need for Munster fans to worry as Stander and Keatley each doted down in a nine-minute period in the closing stages to clinch the comeback triumph.
Zebre: Ruggero Trevisan (Dion Berryman 70); Leonardo Sarto, Kameli Ratuvou, Gonzalo Garcia (Tommaso Iannone 61), Giovanbattista Venditti; Luciano Orquera, Brendon Leonard (Alberto Chillon 74); Salvatore Perugini (Matias Aguero 49), Andrea Manici (Davide Giazzon 61), Luca Redolfini (Dario Chistolini 49); Quintin Geldenhuys, Marco Bortolami (cap) (George Biagi 70); Filippo Ferrarini, Andries van Schalkwyk, Samuela Vunisa
Munster: Denis Hurley; Johne Murphy, Casey Laulala, Ivan Dineen, Andrew Conway (James Downey h-t); JJ Hanrahan (Ian Keatley 72), Cathal Sheridan (Duncan Williams 72); Dave Kilcoyne (James Cronin 70), Damien Varley Capt (Mike Sherry 65)., John Ryan (Stephen Archer 65); Donnacha Ryan, Ian Nagle (Dave Foley 31); CJ Stander, Tommy O'Donnell (Niall Ronan 67), Paddy Butler.
Referee: Andrew McMenemy (SRU)