Munster will take on Scarlets for the 2016-17 Pro12 title in next Saturday’s final after seeing off Ospreys at Thomond Park.
The win denied the lacklustre visitors an all-Welsh final against their closest rivals in Dublin.
But they could have no complaints on a day when only Munster touched down.
Francis Saili, Simon Zebo and Andrew Conway went over for the clinical hosts while Dan Biggar kicked Ospreys’ sole penalty.
Scarlets had stunned Leinster 27-15 in Dublin a day earlier and will meet Munster at the city’s Aviva Stadium on Saturday 27 May (18:15 BST) in the final.
Wales scrum-half Rhys Webb was a late withdrawal for Ospreys because of a groin injury.
It meant he did not face Ireland’s Conor Murray before they head to New Zealand together on the British and Irish Lions tour in June.
The visitors and their hosts were evenly matched until Zebo made the line.
Ospreys stand-off Biggar kicked the opening points and they led until Saili’s try.
The twice-capped New Zealand international was a powerful midfield presence throughout, although he was penalised for an off-the-ball tackle on Biggar.
Soon after that, Saili made his presence felt in a more positive fashion by powering over when centre partner Rory Scannell was halted on the touchline.
Biggar failed with a penalty attempt and saw opposite number Tyler Bleyendaal kick the hosts further ahead to close the opening period.
The hosts gradually tightened their grip on the contest up front while Ospreys attacks fell flat.
And when Murray launched a counter-attack in which Saili and Earls combined before Zebo raced clear, Munster were almost home and dry.
Ospreys’ replacement hooker Scott Otten had hopes of a memorable moment of glory denied when his chip and chase effort was ruled out by Tom Habberfield’s knock-on in the build up.
At the other end, Conway evaded three defenders on the narrow side of a scrum to score.
And at the end, wing Keelan Giles’ spectacular dive to the line was denied, as television match official Graham Hughes spotted the Ospreys man’s foot had hit the touchline.
Munster: Simon Zebo; Andrew Conway, Francis Saili, Rory Scannell, Keith Earls; Tyler Bleyendaal, Conor Murray; Dave Kilcoyne, Niall Scannell, John Ryan, Donnacha Ryan, Billy Holland, Peter O’Mahony (capt), Tommy O’Donnell, CJ Stander.
Replacements: Rhys Marshall, James Cronin, Stephen Archer, Jean Deysel, Jack O’Donoghue, Duncan Williams, Ian Keatley, Jaco Taute.
Ospreys: Dan Evans; Keelan Giles, Kieron Fonotia, Ashley Beck, Tom Habberfield; Dan Biggar, Brendon Leonard; Nicky Smith, Scott Baldwin, Rhodri Jones, Bradley Davies, Alun Wyn Jones (capt), Sam Underhill, Justin Tipuric, James King.
Replacements: Scott Otten, Paul James, Dan Suter, Lloyd Ashley, Olly Cracknell, Jay Baker, Sam Davies, Josh Matavesi.
Referee: Luke Pearce (RFU)
Assistant referees: Matthew O’Grady (RFU), Wayne Falla (RFU)
TMO: Graham Hughes (RFU)