Ulster outscored the visitors by five tries to three in the 36-17 success - with the backline scoring four and a constant threat all night in attack.
Ulster will be away in the last four to the winners of Saturday evening’s game between the Stormers and Edinburgh.
John Cooney marked his 100th cap for Ulster with the opening try on nine minutes.
Ulster were awarded a penalty in front of the posts as Munster strayed offside.
As a scuffle broke out between players from both sides, the quick-thinking James Hume took a tap penalty and spun the ball to his scrum half to stroll over and the pivot added the conversion.
Munster made their first sustained period of pressure in the Ulster 22 count in the 19th minute with a try.
The visitors patiently worked the ball through the phases before No8 Gavin Coombes surged for the line but was stopped, as the ball was recycled it hit Jean Kleyn’s foot and the second row was able to gather and stretch to ground the ball over the whitewash with Joey Carbery converting.
Ulster responded with a contender for the ‘Try of the Season’ five minutes later.
From lineout ball off the top a couple of quick passes put Robert Baloucoune through a gap, the winger accelerated before offloading to Stewart Moore, he quickly fed Ethan McIlroy, the winger stepped back inside, wrong-footing a couple of Munster defenders before off-loading to his full back to finish it off with Cooney converting.
Moore got his second try on 32 minutes - Ulster punched holes in the Munster as they advanced in the 22, Hume threw a glorious pass to the wing for his full back, Moore was able to hold off Keith Earls and ground the ball but Cooney failed to convert and Dan McFarland’s side went into the half-time interval with a 19-7 lead.
Ulster’s fourth try arrived two minutes after the break.
From a lineout the ball was moved into midfield, Stuart McCloskey showed deft hands to put Hume in space, the centre raced towards the 22 and Nick Timoney ran a good support line to take a try-scoring pass with Cooney converting.
Coombes had a try disallowed three minutes later after blocking a Cooney clearance as it was adjudged he knocked the ball on trying to ground it.
Earls got Munster back in the game with a diving finish in the corner following a driving maul before Craig Casey spun the ball to his winger for an unconverted try.
Cooney nudged Ulster further ahead with a 57th-minute penalty.
Hume got the try he deserved on 61 minutes.
Ulster just moved the ball through the hands at pace until it got to the outside centre, Hume raced past Casey and was able to roll over to ground the ball with Nathan Doak adding the extras.
Earls got his second try on 69 minutes.
McIlroy should have scored in the final minutes when he intercepted in his own 22 but ran out of steam, sent a pass to Moore but Munster were able to cover the full back’s grubber kick.
Ulster: S Moore, R Baloucoune, J Hume, S McCloskey, E McIlroy, B Burns, J Cooney, A Warwick, R Herring, T O’Toole, A O’Connor, I Henderson (capt), Marcus Rea, N Timoney, D Vermeulen
Replacements: J Andrew for Herring 61 mins, E O’Sullivan for Warwick 19 mins, G Milasinovich for O’Toole 74 mins, K Treadwell for O’Connor 65 mins Matty Rea for Vermeulen 71 mins, N Doak for Cooney 56 mins, I Madigan for Burns 67 mins, B Moxham for McIlroy 80 mins.
Munster: M Haley, A Conway, C Farrell, D de Allende, K Earls, J Carbery, C Murray, J Wycherley, N Scannell, S Archer; J Kleyn, F Wycherley, P O’Mahony (capt), A Kendellen, G Coombes
Replacements: D Barron for Scannell 65 mins, J Loughman for J Wycherley 50 mins, J Ryan for Archer 50 mins, J Jenkins for Kleyn 61 mins, T Ahern for Coombes 61 mins, C Casey for Murray 38 mins, B Healy for Conway 45 mins, C Cloete for Ahern 71 mins.
Referee: J Peyper (South Africa).