Glasgow Warriors won a bruising war of attrition against Munster to reach their first Pro12 final.
Damien Varley's early try, converted by Ian Keatley, gave the Irish side the lead, but three Finn Russell penalties had Glasgow ahead by half-time.
Gordon Reid's try, converted by Russell, extended the advantage.
A Sean Dougall try and a Keatley penalty brought Munster to within a point, but Glasgow held on to secure a ninth straight victory.
Scotstoun Stadium was a 10,000 sellout for the first time and it had witnessed a game of ferocious tackling and defending from both sides.
But it was Glasgow, three losing semi-finals behind them, who took advantage of their first-ever home tie in the last four and will face the winners of Saturday's match between Leinster and Ulster.
Both sides had rung the changes after their final games of the league season, but it was the Glasgow starting line-up that raised most eyebrows.
Head coach Gregor Townsend had bravely left Stuart Hogg out of his starting line-up amid rumours that the British and Irish Lions full-back was looking to leave the club with a year left on his contract.
But, with fellow Scotland international Peter Murchie having been handed a starting place instead, the home side started brightly and monopolised possession for the opening five minutes.
However, they failed to threaten the try line behind Munster's red defensive brick wall and the visitors were much more clinical in what was their first attack, although the opening score came in controversial circumstances.
Keith Earls tackled Alex Dunbar off the ball then continued to hold the Glasgow centre, leading to the pair wrestling on the ground behind the posts.
Play raged on and Varley emerged from beneath a ruck to edge the ball towards the try line.
Much to Glasgow's dismay, the television match official not only ruled that Earls had not caused an infringement but that there was no reason not to award the try.
Keatley converted, but Warriors quickly responded and, although Russell's 40-metre, wind-assisted penalty slipped just wide, he made no mistake when given a second chance from closer range minutes later.
Munster's rare attacks continued to be the more penetrating and the TMO was called for again to decide whether Simon Zebo's outstretched hand had reached the try line despite the attentions of three Glasgow defenders.
The home side got the benefit of the doubt this time and went ahead on the stroke of half-time.
Glasgow's pressure told as the Munster scrum collapsed and Russell kicked again through the posts from 30 metres.
Warriors were on the front foot again after the break and their try came after a clever Russell kick found touch inches from the corner flag led to a scrum in front of the posts.
On the third surge towards the Munster try line, Reid powered over and Russell added the conversion.
Munster had hardly been in the Glasgow half but were able to make better use of their possession and Scottish-born back-row Dougall touched down despite the attentions of two opponents.
Keatley missed with the conversion but made up for that when a penalty was given against Leone Nakarawa.
It set up a nerve-jangling final few minutes before Glasgow could celebrate becoming the first Scottish side to reach the Pro12 final.
Glasgow Warriors: Murchie, S. Maitland, Bennett, Dunbar, Seymour, Russell, Cusiter, Grant, Hall, Welsh, Gray, Kellock, Harley, Fusaro, Strauss.
Replacements: Jackson for Bennett (67), Matawalu for Cusiter (67), Reid for Grant (26), MacArthur for Hall (53), Cross for Welsh (53), Swinson for Kellock (58), S. Lamont for Fusaro (72). Not Used: Nakarawa.
Munster: Jones, Earls, Laulala, Downey, Zebo, Keatley, Murray, Kilcoyne, Varley, Botha, Foley, O'Connell, Stander, Dougall, Coughlan.
Replacements: Hanrahan for Jones (38), Conway for Laulala (12), Cronin for Kilcoyne (67), D. O'Callaghan for Foley (67), Butler for Dougall (62). Not Used: MacDonald, J. Ryan, Williams.
Ref: Marius Mitrea (Italy)