But it was the boot of fly-half Ian Keatley that made the difference, his 20 points winning the battle of wits with counterpart Ruaridh Jackson.
Warriors full-back Hogg looked in imperious form, but his three second-half tries failed to overturn an 18-6 half-time deficit but did secure what could prove to be a crucial bonus point, especially considering Ulster's surprise defeat to Connacht.
Munster, who remain in third, were penalised for an infringement in the ruck on ten minutes and Jackson duly kicked the first points of the match from 30 metres.
The Scottish No. 10 then missed his second kick moments later but Keatley made no mistake on 20 minutes to level proceedings at 3-3.
Felix Jones came agonisingly close to the first try of the game six minutes later but the Munstermen did break the Warriors line on the half hour when O'Dea found space in the corner. Keatley missed a difficult conversion.
Jackson and Keatley then traded penalties before back row O'Mahony burrowed his way over after a driving maul broke the Warriors line just before the break.
Keatley added the conversion with the last act of the half to give the hosts an 18-6 half-time lead.
Quick-fire Hogg tries just after the break got Warriors back into the contest, the first coming out of nothing on 42 minutes.
The Scottish international broke from 50 metres after a fumble in midfield to cap a stunning effort and the second was just as impressive, a neat interchange involving Jackson finished superbly by the centre just five minutes later.
Jackson missed both conversions but sandwiched in between the tries was a Keatley penalty for Munster which left the scoreline at 21-16.
Keatley and Warriors substitute Duncan Weir exchanged two further penalties apiece before Federico Aramburu was sin-binned for not rolling away from the ruck ten minutes from time.
It was to prove costly as a depleted Glasgow side saw Keatley add another three points and substitute Murray cross the whitewash to seal the game for the hosts - with Hogg's third and Weir's conversion snatching a point.
|Munster Rugby Score Card|
|Glasgow Warriors Score Card|