A second-half resurgence from Munster denied Zebre their first ever win in the RaboDirect Pro12.
Zebre went in at half-time 18-9 ahead after tries from Luciano Orquera and Andrea Macini but CJ Stander's double helped the Irish province to a 43-21 success.
Two JJ Hanrahan penalties gave Munster an early lead but Orquera halved the deficit and then crossed for the opening try after catching Munster off guard with a quick tap penalty.
Hanrahan brought his side back within a point but hooker Macini surprisingly popped up on the end of a flowing move and outpaced Munster full-back Denis Hurley to score.
Half-time substitute James Downey quickly won a penalty from which Hanrahan cut the deficit and it sparked a dramatic second-half comeback.
Paddy Butler's try and Hanrahan's conversion put Munster 19-18 up, and two barnstorming runs through the defence from Stander proved decisive.
Filippo Ferrarini wasted a three-on-one chance to bring Zebre back into the game and replacement fly-half Ian Keatley converted his own try to round off Munster's win.