Hanrahan then latched on to Ian Keatley's smart dink to cross in the 67th minute and Luke O'Dea added a late fourth for the bonus point, but Keatley failed to add the extras for the first time in the match.
Soon after the kick-off Donncha O'Callaghan was penalised on the Zebre ten-metre line but Gonzalo Garcia missed his long-range kick at goal.
With Munster on the attack down the left, a Zebre offside gave Keatley the chance to open the scoring in the 18th minute but he too missed his penalty, kicking just wide of the right-hand post from the 22-metre line on the left.
Zebre then put together an attack from their own half with Daniel Halangahu exploiting a gap on the left wing, but the ball was knocked on at the ruck after he was tackled.
After Paddy Butler was penalised for obstruction, Halangahu followed the theme of the opening exchanges by hitting his kick wide to keep it 0-0 after 22 minutes.
But Keatley made no mistake with his penalty four minutes later with a clinical kick from 35 metres.
A minute before half-time however Halangahu kicked Zebre level, the centre landing a long-range effort after Munster were called for not rolling away.
But Munster came flying out of the traps in the second-half, the ball played to the right wing where Hanrahan stepped inside and slid over in the 46th minute before Luca Martinelli could make the tackle.
Keatley then added the extras to give Munster a 10-3 lead, and he did the same again ten minutes later after Jones stepped inside and left six defenders in his wake to touch down under the posts.
With Munster pushing for the bonus point, Hanrahan added his second try in the 67th minute, a clever grubber slipped through the Zebre defence by Keatley sitting up nicely for him to collect and cross, with the latter converting for 24-3.
With four minutes to go O'Dea was then fed by Casey Laulala and went over in the corner but Keatley missed his conversion to leave the scores at 29-3.
|Munster Rugby Score Card|
|Zebre Score Card|