The Ospreys had a last-minute try disallowed as nervy Munster held on to clinch a 21-18 win and a place in next Saturday's Guinness PRO12 final against Glasgow Warriors.
Josh Matavesi's effort left the Thomond Park faithful stunned, but television match official Gareth Simmonds determined it should be ruled out after a knock-on by Rhys Webb in the build-up.
Munster should have killed off the young Welsh side by then, twice opening up a 13-point lead early in the second half. Simon Zebo's seventh try in eight PRO12 games put them 11-3 ahead at the interval and Denis Hurley and Paddy Butler both crossed in the third quarter.
However Ian Keatley had an awful day with the boot, missing out on 12 points and being successful with just two of seven attempts. Tries from Rhys Webb and Jeff Hassler kept the Ospreys in the hunt and a Dan Biggar penalty had the margin down to just three points.
Keatley missed his final penalty attempt and his replacement JJ Hanrahan was wide with a central shot two minutes later, but the Irish province did just enough to squeeze through to their first PRO12 decider since 2011.
The Ospreys burst out of the traps in Limerick with Hassler and Dan Evans exploiting space on the right wing and Biggar, who missed an early drop goal, almost releasing Scott Baldwin for a try.
Paul O'Connell, in what could prove to be his final Thomond Park appearance for Munster, came to their rescue, snaffling turnover ball after Eli Walker was hauled down just short. The home side then went close as Dave Kilcoyne made good yardage and fellow prop Stephen Archer was smothered out in the left corner.
Keatley cancelled out Biggar's opening penalty on the quarter hour and although Munster lost Conor Murray to a knee injury, a second penalty from Keatley had them in front for the first time.
There was little between the sides during a scrappy second quarter, Munster pressing from a stolen lineout before a crucial Baldwin poach. The Ospreys had a let-off for a block by Webb when Keatley put the resulting penalty wide.
But Munster were deadly accurate on the stroke of half-time when, from a scrum on halfway, Keatley dummied past Webb and drew in two tacklers before strong running from CJ Stander and Butler gave Zebo a simple finish near the left corner.
The Ospreys fell further behind just two minutes into the second period, with Stander carrying three times as the Munster pack roared forward and Keatley then released big centre Hurley for a smart finish past Walker at the corner flag.
The Munster fly-half missed both conversions and Webb, so often the source of inspiration for the Ospreys this season, responded almost immediately, picking off Stander's pass from the back of a scrum to sting the hosts.
Biggar was unable to convert and Stander initiated Munster's response, countering from a kick and Kilcoyne again bulldozed through before Duncan Williams' flat pass put Butler over from close range.
Keatley's conversion attempt came back off the left post and once more the Ospreys quickly answered back. The lively Hassler turned a loose Zebo kick into a terrific solo try as he burst clear from halfway and carried the Munster winger with him over the whitewash. Biggar's conversion cut the gap to 21-15.
The Ospreys threatened through Hassler and Matavesi as Munster were guilty of some more loose kicking, needing some crucial interventions from Butler and Williams in their 22.
Biggar punished a ruck infringement with his second successful penalty, setting up a grandstand finish with 14 minutes left. Munster controlled possession for the most part, but the points eluded them as Keatley and Hanrahan had penalty misses and the Ospreys did well to keep out a lineout maul.
There was late drama when Ospreys replacement Marc Thomas burst through a hole in the Munster defence and numbers on the right saw Matavesi slip through for what he thought was the clincher. However, an uncharacteristic mistake from Webb floored the Ospreys and put Munster on the road to Belfast next week.