|Pro12: Munster v Ulster|
|Munster (10) 22|
|Tries: Lloyd, Earls, O'Callaghan Cons: Keatley, Bleyendaal Pen: Keatley|
|Ulster (10) 20|
|Tries: Best, L Marshall Cons: Jackson 2 Pens: Jackson 2|
Munster dug deep to guarantee a place in the Pro12 play-offs with a gritty derby win over Ulster at Thomond Park.
Rory Best gave wasteful Ulster an early lead but Angus Lloyd's try left it 10-10 at the interval.
Keith Earls put Munster ahead for the first time on 62 minutes before Luke Marshall responded for Ulster.
Munster trailed four times but Dave O'Callaghan's try with 10 minutes to go was decisive, leaving Ulster's hopes of a top-four finish in the balance.
The losing bonus point was some consolation for Ulster, and top-four rivals Ospreys' surprise 35-17 defeat by Cardiff Blues keeps them in the hunt with two games remaining.
But Les Kiss' team will know this was a game they should have won and will rue their mistakes, including 11 handling errors.
Munster, who face Saracens in the Champions Cup semi-final next Saturday, replaced both starting half-backs prior to kick-off, then lost wing Darren Sweetnam in the first minute with concussion.
Ulster, without a win over their southern rivals in three years, had to lay down a marker of intent and an early scuffle between the teams was a sign they would not take a backward step.
Best bundled over off the back of a driving maul to put Ulster 5-0 up after four minutes.
A missed tackle by an out-of-sorts Charles Piutau allowed Peter O'Mahony to glide through the gap in the middle of a three-on-two overlap.
He exchanged passes with Keith Earls and then released Lloyd, who scrambled over far too easily amidst slack Ulster defence.
Jackson's penalty after 14 minutes restored Ulster's momentum to put them 10-7 ahead, but they allowed Munster a foothold in the game with a series of knock-ons and missed tackles.
Luke Marshall's delayed pass killed their best chance of a second try and Munster had a good spell with Andrew Conway going closest, the replacement wing just held up on the line.
Ulster were fortunate to go in 10-10 at the interval after an error-strewn second quarter, Ian Keatley's 38th-minute penalty drawing Munster level.
Five minutes after the restart, Jacob Stockdale picked a great line and thought he'd touched down for the visitors but his effort was disallowed for a forward pass by Luke Marshall in the build-up.
Jackson's second penalty briefly had Ulster ahead before Munster's backs combined for a sparkling try.
Francis Saili's brilliant offload was gathered by Earls, who twisted and turned the Ulster defence inside out to put Munster ahead for the first time after 62 minutes.
Almost inevitably in this see-saw contest, Ulster hit back three minutes later with Luke Marshall splitting the Munster defence to dot down under the posts.
Ulster led 20-15, the fourth time they held the lead, but Munster's responded again with O'Callaghan's try.
Jackson's late drop goal attempt was well wide in a frustrating finish for Ulster.
Munster: S Zebo; D Sweetnam, F Saili, R Scannell, K Earls; I Keatley, A Lloyd; D Kilcoyne, N Scannell, J Ryan; D Ryan, B Holland; P O'Mahony (capt), T O'Donnell, J O'Donoghue.
Replacements: R Marshall, J Cronin, S Archer, D O'Callaghan, J Deysel, A Griesel, T Bleyendaal, A Conway.
Ulster: J Stockdale; A Trimble (capt), L Marshall, S Olding, C Piutau; P Jackson, R Pienaar; A Warwick, R Best, W Herbst; K Treadwell, A O'Connor; I Henderson, C Henry, S Reidy.
Replacements: R Herring, C Black, R Ah You, R Diack, C Ross, P Marshall, S McCloskey, C Gilroy.