Munster had previously won seven of their last eight matches in all competitions since December and had lost just one of their last 25 home games in all competitions.
In contrast the visitors had won only one of their last seven encounters in all competitions but were full of confidence following their first ever win (32-10) over Munster at Hughenden in September and the presence of six members of the Scotland 6 Nations squad in their squad.
The hero for the visitors was flyhalf Colin Gregor, deputising for Scottish international Dan Parks, who notched 21 points thanks to a try, four penalties and a brace of conversions.
The hosts took control of the contest with the opening try of the game from No.8 Anthony Foley in the opening minutes but they were soon on the back foot as the Warriors rallied.
First scrum-half Sam Pinder crossed for a try after some good work from skipper Jon Petrie and Gregor, with the latter adding the converison.
The No.10 extended their lead with his first penalty before Munster responded with their second try from flanker Stephen Keogh who lunged over from close range on the half hour. But they were soon behind again when Gregor slotted another penalty as the half drew to a close.
However there was still time for Munster to grab their third try through winger Anthony Horgan who benefitted from the efforts of Barry Murphy and John Kelly. The conversion from Mossie Lawler ensured the Munstermen held a 17-13 lead at the break.
Warriors began the second half brightly and were back in the contest when Gregor’s next penalty put them within one point of their high-flying hosts.
The upset was really on shortly after when Gregor, aided by centre Spencer Davey, grabbed his try before adding the extras.
A further penalty cranked up the pressure and the Irishmen responded with a penalty of their own from Lawlor inside the last ten minutes.
But try as they might, a series of knock-ons and loose passes prevented them from escaping from the game with more than a losing bonus point.
The visitors lost winger Mike Roberts to the sin-bin for a high tackle, five minutes from time, but the Scots hung on for only their second win in eight games.