Ulster made it three wins from three Pro12 games as a thrilling comeback win over Irish rivals Munster sent them top of the able.
Ian Keatley kicked Munster into an early 9-0 lead before Paddy Jackson responded with two Ulster penalties.
Keith Earls crossed as the visitors went in 16-9 ahead at half-time.
The hosts dominated after the break and Jared Payne's try proved decisive as Stephen Ferris celebrated his 100th Ulster cap with a memorable victory.
Munster took advantage of a stiff breeze at their backs by making a strong start to the game.
Keatley fired over two penalties before adding a drop-goal on 12 minutes to put the visitors in control against an error-strewn Ulster side.
Jackson's penalty four minutes later sparked Ulster into life and their only sniff of a try came after a break from Payne.
The full-back passed to Andrew Trimble but Paul Marshall failed to collect what would have been a try-scoring pass from the winger.
Jackson saw a penalty strike a post before converting after 29 minutes to make it 9-6.
Earls, a substitute for the injured Luke O'Dea, started and finished a clinical move for the 38th minute try, with the Irish international sprinting over from Denis Hurley's inside pass.
Keatley added the extras before Jackson slotted over a penalty with the last kick of the first half.
Jackson reduced the gap to four points with his fourth penalty as Ulster took control early in the second half.
The pressure resulted in a try after 51 minutes with Payne darting over from 10 yards to put Ulster ahead for the first time, although Jackson missed with his conversion attempt.
Munster flanker Sean Dougall was sin-binned for an infringement at a maul before an excellent tackle from Hurley prevented replacement Craig Gilroy going in for an Ulster try.
Keatley's second drop-goal restored Munster's lead only for Jackson to respond with a 69th-minute penalty.
Ulster defended superbly as Munster chased a winning late score and they gained a turnover to clinch a victory which takes Mark Anscombe's team top of the standings.
Ulster: J Payne; A Trimble, D Cave, L Marshall, M Allen; P Jackson, P Marshall; T Court, N Brady, J Afoa, J Muller (c), L Stevenson, S Ferris, S Doyle, N Williams.
Replacements: Replacements: C Gilroy for Cave (54), R Herring for Brady (61), N McComb for Stevenson (68), M McComish for Doyle (68). Not used: C Black, D Fitzpatrick, M Heaney, P Nelson.
Munster: D Hurley; D Howlett (capt), C Laulala, J Downey, L O'Dea; I Keatley, D Williams; D Kilcoyne, D Varley, BJ Botha; Donncha O'Callaghan, B Holland; Dave O'Callaghan, S Dougall, J Coughlan.
Replacements: R O'Gara for Laulala (70), K Earls for O'Dea (25), C Murray for Williams (52), M Horan for Kilcoyne (61), M Sherry for Varley (52), S Archer for Botha (68), TO'Donnell for Coughlan (38). Not used: D Foley.
Sin Bin: Dougall (55).
Ref: Alain Rolland (Ireland).