The Irish visitors had taken an early lead when hooker Damien Varley crossed over to score but three penalties from stand-off Finn Russell had the hosts in front at half-time.
Gordon Reid - a first-half replacement for the injured prop Ryan Grant - then put the Warriors even further ahead with a touchdown just after the restart.
But Sean Dougall's 51st-minute try and a penalty from Ian Keatley made for a nervy last half hour.
Gregor Townsend's men, though, showed resilience to set up a clash with either Leinster or Ulster in the final on May 31.
Played out in front of a record 10,000-strong crowd, it was Glasgow's fourth Pro12 semi-final but first held on home soil.
Having lost their three previous last-four contests, there was an air of expectancy amongst the Warriors faithful and their side did not disappoint.
On the back of eight successive wins, the Scots were confident - so confident in fact that Townsend decided he did not need his two best players, Stuart Hogg and Duncan Weir.
Scotland full-back Hogg has hardly played hardly since he was sent off against Wales in March through a combination of a three-week ban and hamstring troubles.
Weir's form, meanwhile, has been erratic - but even so, dropping both was a bold move by the head coach.
Munster, by contrast, had struggled to reignite their season since Toulon ended their Heineken Cup ambitions in the semis three weeks ago.
But Rob Penney put his faith in the same side defeated 24-16 in Marseille for their trip across the Irish Sea.
Most of the crowd, though, missed his team take the lead after 10 minutes as Glasgow centre Alex Dunbar and the Limerick side's wing Keith Earls exchanged punches off the ball.
Strangely, both men escaped punishment but their dust-up was enough to distract those watching while Varley just about grounded the ball after a strong drive by the visitors' pack.
The TMO had to be called in to sanction the score before Keatley added the extras.
It was not the start the hosts had been looking for but after missing his first penalty attempt, Russell nailed the next to get Glasgow off the mark.
There was a scare for the Scots when Italian referee Marius Mitrea was forced to go upstairs again on the half-hour mark after Simon Zebo crashed towards the line just as Rob Harley looked to have held him up. This time the TV judge did not see enough of the whitewash to give the try.
And with that let off, another two successful penalties from Russell ensured Glasgow nudged themselves ahead at the break.
Townsend's team came out fired up for the start of the second half and took just six minutes to extend their lead.
Munster made a mess of their own line-out and from the scrum that followed, Reid was the eventual benefactor as Glasgow remained calm with the line in sight.
Russell converted but the nine-point lead was soon trimmed back to just four as Dougall dived over for an unconverted score after the Scots had allowed Munster to work the ball from one flank to the other far too easily after a line-out.
But when Leone Nakarawa was penalised for failing to release, Keatley drove a firm kick through the posts to leave the game on a knife-edge with just 15 minutes remaining.
Some of Mitrea's calls were infuriating for the home crowd but substitute scrum-half Niko Matawalu soon had them cheering with a couple of daring runs to take the pressure off his creaking defence.
But that was nothing compared to the roar that followed when Tommy Seymour intercepted JJ Hanrahan's pass to drive Munster back 40 yards with a minute-and-a-half remaining.
The wing was pegged back before he could finish off the Irish but it was enough to set-up Glasgow's date with destiny in a fortnight.