Ulster held on for a narrow win at Musgrave Park to move to within two points of the Celtic League leaders.
Munster (3) 17
Tries: Flannery, Wallace
Cons: O'Gara 2
Drop goal: O'Gara
Ulster (20) 20
Tries: Trimble, Bowe
Cons: Humphreys 2
Pens: Humphreys 2
Tries from Andrew Trimble and Tommy Bowe, plus four kicks from David Humphreys, helped Ulster establish a 20-3 half-time advantage.
But Munster stormed back and tries from Gerry Flannery and David Wallace cut the gap to just three points.
Munster could have drawn but turned down a penalty, unsuccessfully trying to secure a winning touchdown.
The sides were level at 3-3 early on after a Humphreys penalty and a drop goal from Ronan O'Gara.
But then tries from two of Ireland's most promising backs put Ulster in command.
Trimble went through for the opening try from Bryn Cunningham's kick ahead on 13 minutes.
Fifteen minutes later winger Bowe went in at the posts, giving Humphreys an easy second conversion.
A 50-yard penalty by Humphreys, just after missing a much easier one, gave Ulster that 13-point lead at the break.
But Ulster looked like losing it as Flannery and Wallace touched down in a four-minute spell.
O'Gara got the conversions to leave it 20-17 to the visitors.
With their tails up, Munster sensed victory and turned down what looked a straightforward penalty which would have square the contest.
O'Gara kicked into the corner hoping for a winning try from the line-out but Ulster kept them at bay to end Munster's proud 18-game unbeaten home record.
Munster: Manning, Pitout, Connolly, Halstead, Horgan, O'Gara, Stringer, Roche, Flannery, Hayes, O'Callaghan, O'Driscoll, Leamy, Wallace, Foley.
Replacements: Lawlor for Manning (51), Horan for Roche (32), S Keogh for Wallace (70).
Ulster: Cunningham, Bowe, Trimble, Maggs, Steinmetz, Humphreys, Campbell, B. Young, R. Best, S. Best, Harrison, McCullough, McMillan, N. Best, Wilson.
Replacements: Boss for Campbell (46), Ferris for McMillan (69).
Referee: A Rolland (Ireland).