South Africa star Ruan Pienaar kicked 19 points as Ulster ground out a crucial Pro12 victory over leaders Munster at Ravenhill.
Ulster, boosted by sparkling tries by Jared Payne and Darren Cave, had led 20-0 before centre Ivan Dineen got a touchdown for Munster before half-time.
Loosehead Dave Kilcoyne and number eight James Coughlan scored Munster's tries in the second half.
But they were left to rue a string of missed kicks by fly-half Ian Keatley.
The Munster number 10 was wide of the target with three penalties and a conversion in the first half.
Ulster, so disappointed with their display against Leinster in Dublin six days earlier, move up to third on the back of this victory.
Ulster's Ruan Pienaar kicked 19 points against Munster
However, it was far from straightforward as, at one stage Munster were trailing just 23-19 in what was an absorbing contest.
Ulster, though, held their nerve and Pienaar kicked his final penalty in the last minute with Paul O'Connell sin-binned for dissent.
Pienaar, taking over the kicking duties from Paddy Jackson, got Ulster under way after three minutes with a penalty and then there was a lengthy hold-up as referee Alain Rolland consulted with the television match official over Felix Jones' dragging down of Craig Gilroy with a possible try chance on offer.
Ulster put the ball in the corner from the penalty, and from the line-out Jackson's chip resulted in Payne scoring to the right of the posts.
Pienaar landed a monster penalty from just inside his own half to take Ulster to 13-0.
Ulster then scored a sensational try off a Munster turnover with Payne setting winger Andrew Trimble free before Cave came in at an angle to score in the right corner.
Pienaar's marvellous conversion made it 20-0 to Ulster, but the visitors hit back and in the last play of the first half Dineen touched down to leave Munster 15 points in arrears at the interval.
Munster had the bit between their teeth early in the second half and prop Kilcoyne was driven over from a line-out maul, with Keatley managing to kick his first points after four misses.
Pienaar was then well short with a 56th-minute penalty but made no mistake with a straightforward chance on the hour mark, a vital score to settle Ulster after conceding 12 points without reply.
But Munster again struck back with another driving maul from a line-out take by Peter O'Mahony and it was Coughlan who got the 65th-minute touchdown.
Keatley again converted and Munster were just four points behind, but with 10 minutes remaining Pienaar slotted his fourth penalty to again nudge Ulster further in front.
In the final minute, O'Connell was sin-binned by Rolland for back-chat after being pinged at the breakdown, and Pienaar did the necessary with the penalty.
Payne, Trimble, Cave, L. Marshall, Gilroy, P Jackson, Pienaar, Court, Herring, Afoa, Henderson, Tuohy, Diack, Henry, Wilson.
Black for Court (55), Annett for Herring (74), Fitzpatrick for Afoa (80), Williams for Wilson (64).
Stevenson, Doyle, P. Marshall, Allen.
Jones, Conway, Laulala, Dineen, R O'Mahony, Keatley, Sheridan, Kilcoyne, Varley, Archer, D. O'Callaghan, O'Connell, P. O'Mahony, O'Donnell, Coughlan.
J. Murphy for R O'Mahony (51), Botha for Archer (55).
Casey, J. Ryan, D Foley, Stander, Williams, J Holland.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.