A fortuitous try from Tom Gleeson and 11 points from the boot of stand-in captain Ronan O'Gara saw Munster claim a tight result that keeps them ahead of the chasing pack in the Magners League.
Ian Keatley, who helped Connacht establish a 6-3 half-time lead, kicked four penalties for the hosts in wet and windy conditions.
Suitably fired up for this festive interprovincial derby, Connacht's clever use of the boot saw them build some promising phases in the visitors' half.
An early aerial assault led to a first successful penalty from Keatley, who stood in at out-half for an ill Miah Nikora.
Ezra Taylor was penalised for bringing a maul down illegally, allowing O'Gara to kick Munster level four minutes later, but Connacht continued to force the issue.
Keatley restored his side's lead, with the assistance of the left hand post, after Rob Sweeney had got one-up on Peter Borlase in a scrum.
Munster's try-line was untroubled though as they kept Connacht at arm's length, save for one sniping run from skipper Keith Matthews.
O'Gara was off target with his second penalty attempt, and Keatley also flicked a right-sided penalty effort wide of the uprights as an error-strewn opening period petered out.
Messy scrums sapped the game of any rhythm, and Keatley immediately extended Connacht's advantage to 9-3 after the restart, punishing Borlase for a ruck offence.
Michael Swift was next to be singled out by busy referee David Wilkinson. The experienced Connacht lock was pinged near his 22, and O'Gara mopped up with a well-judged kick.
A serious elbow injury to Munster's Alan Quinlan added to the stop-start nature of the game, but Keatley's fourth successful penalty kept Connacht on track.
A long range penalty from O'Gara dropped short of the posts, yet a real comedy of errors led to Munster's all-important try.
With 65 minutes on the clock, Barry Murphy dropped a pass near the Connacht 22 but a favourable bounce saw him dribble the loose ball forward before the supporting Gleeson reached out his right hand to dot down just before the end line.
O'Gara then took centre stage with a brilliant touchline conversion and subsequent drop goal which sucked the life out of Connacht for a while.
Now 16-12 behind, the westerners needed some inspiration. They got it in the form of Darragh Fanning and man-of-the-match Sean Cronin who made some great carries.
The momentum was with Connacht as they piled forward into the table toppers' 22. Ronan was sin-binned for killing the ball and although a five-metre scrum offered Connacht one last chance, Munster managed to hold on for a hard-won four points.
|Connacht Rugby Score Card|
|Munster Rugby Score Card|