Munster outscored Ulster five tries to four to win 32-28 in a thrilling PRO12 game at Thomond Park on Friday.
An inter-provincial cracker was served up at Thomond Park as Munster deservedly scraped home with a bonus point win.
First half tries from Andrew Conway, Robin Copeland and Gerhard van den Heever saw the Limerick men into a slim half-time lead.
The visitors replied with a brace from Ireland winger Craig Gilroy, and another try from Nick Williams.
Munster seemed to have the game wrapped up, though, when Denis Hurley touched down to secure the bonus point. To Ulster's credit, the visitors refused to concede and a late Dan Tuohy try allowed them to bag two points for the losing bonus point, and a four-try haul.
It wasn’t quite enough though, as Munster held on for a superb win that gave coach Anthony Foley an ideal birthday present.
Ulster made the perfect start. A huge hit from Stuart McCloskey dislodged the ball from a promising Munster attack, allowing Darren Cave to offload to the supporting Gilroy who ran the length of the pitch to score. Jackson missed the conversion, leaving the Belfast side 5-0 ahead.
The visitors dominated possession in the opening ten, but Munster alleviated the pressure through Keatley’s boot.
Ulster failed to make their advantage count and Munster made them pay on the 16-minute mark. James Cronin took the ball forward in the Ulster 22, before getting it away to full-back Conway to touch down amid some weak Ulster defence. Keatley converted to edge Munster into a 7-5 lead.
It proved short-lived – a Jackson penalty on 19 minutes restoring Ulster’s advantage. Neither side was able to dominate, with errors hampering the fluency of the play.
It was Ulster who struck next on 27 minutes, a patient build-up in the home 22 stretching the Munster defence.
Sensing an opportunity, Paul Marshall fed Gilroy to get over for his second try. Jackson missed the conversion to leave Ulster 13-7 ahead.
Munster immediately thundered downfield and built pressure, which culminated in Copeland scoring under the posts.
They extended the lead further on 33 minutes when Tomás O’Leary put Van den Heever into space, and the big winger outpaced Andrew Trimble to touch down.
The visitors had some work to do, but they responded well by winning a penalty on the cusp of half-time, and wisely chose to go to the corner. A rolling maul from a five-metre lineout with Williams successfully dotting the ball down. The conversion was missed, though, giving Munster a slender one-point lead at half-time.
Ulster bagged the first points of the second period when Jackson nailed a snap drop goal on 46 minutes to edge the visitors into a 21-19 lead.
The helter-skelter nature of the game continued on 50 minutes when Keatley slotted a penalty to re-establish Munster’s advantage.
Munster seized the advantage on 60 minutes when a brilliant high kick by Keatley caused havoc in the Ulster defence. Conway rose highest before tapping down to Hurley to score.
The Munster fly-half missed the extras, though, to leave Ulster within a converted try. Nonetheless, the hosts were well in control, and sustained pressure on 65 minutes saw Zebo go over in the corner.
Ulster replied with their own bonus point as Tuohy scored on 68 minutes, and Jackson nailed a fine conversion.
The score set up a thrilling finale as Ulster chased a win that had seemed unlikely earlier in the half. As hard as they tried, Munster held firm, and wound down the clock to seemingly cling on for the win.
Bizarrely, with the final whistle blown, Marius Mitrea adjudged that there was still time remaining and allowed the game to continue. Muster were incensed, but bravely held out to seal the win they deserved.
Tries: Conway, Copeland, Van den Heever, Hurley, Zebo
Cons: Keatley 2
Tries: Gilroy 2, Williams, Tuohy
Drop Goal: Jackson
Munster: 15 Andrew Conway, 14 Simon Zebo, 13 Francis Saili, 12 Denis Hurley, 11 Gerhard van den Heever, 10 Ian Keatley, 9 Tomás O'Leary, 8 Robin Copeland, 7 Jack O'Donoghue, 6 CJ Stander (c), 5 Mark Chisholm, 4 Dave Foley, 3 BJ Botha, 2 Mike Sherry, 1 James Cronin.
Replacements: 16 Duncan Casey, 17 John Ryan, 18 Mario Sagario, 19 Donnacha Ryan, 20 Jordan Coghlan, 21 Duncan Williams, 22 Rory Scannell, 23 Ronan O'Mahony.
Ulster: 15 Peter Nelson, 14 Craig Gilroy, 13 Darren Cave, 12 Stuart McCloskey, 11 Andrew Trimble, 10 Paddy Jackson, 9 Paul Marshall, 8 Nick Williams, 7 Sean Reidy, 6 Roger Wilson, 5 Franco van der Merwe, 4 Lewis Stevenson, 3 Wiehahn Herbst, 2 Rob Herring (c), 1 Andrew Warwick.
Replacements: 16 John Andrew, 17 Callum Black, 18 Ricky Lutton, 19 Dan Tuohy, 20 Chris Henry, 21 Paul Rowley, 22 Ian Humphreys, 23 Sammy Arnold.
Venue: Thomond Park
Referee: Marius Mitrea
Assistant Referees: Gary Conway, Nigel Correll
Citing Commissioner: Eddie Wigglesworth
TMO: Alan Rogan