The Ospreys hung in there through the boot of Dan Biggar and a 78th minute try from Richard Fussell, but a second touchdown from Barnes sealed Munster's passage through.
The result ended the Ospreys' hopes of becoming the first team to win back-to-back league titles as Tony McGahan's side set up an intriguing all-Irish clash with Leinster back here in Limerick on May 28.
Munster topped the table with a record 19 wins in 22 games and fielded a strong starting line-up, with the 21-year-old Barnes given a chance to shine at outside centre.
The Ospreys, who brought Huw Bennett and Ian Gough back into their pack, were hoping for a repeat of their 15-11 league win at this venue last year.
However, the men in red showed their intent in the opening five minutes and it took a well-timed tackle from Fussell to halt Keith Earls close to the try-line.
Munster coughed up lineout possession, allowing the Ospreys to bring play into the hosts' 22 and James Hook should have done better with a drop goal attempt.
Paul James was then pinged for a scrum infringement and backchat brought an inviting penalty kick even closer to the uprights for Ronan O'Gara to claim the opening points.
Munster repeatedly got over the gain-line and kept the visitors on the defensive. Unfortunately for the home fans, the fast-breaking Lifeimi Mafi took the wrong option when electing to pass with the line in his sight.
O'Gara struck a post with a right-sided penalty and while the one-way traffic continued, with Felix Jones, Barnes and Doug Howlett profiting from the hard graft of the forwards, Munster's attacks were a little too predictable.
They turned down a close range shot at the posts and the Ospreys, with Adam Jones and Alun Wyn Jones quickly in, managed to disrupt the maul and win a relieving penalty.
But the pressure eventually told in the 32nd minute when a neat necklace of passes between Earls, Howlett and Jones sent Barnes scampering over to the right of the posts. O'Gara failed with his conversion attempt.
A good surge from prop James, over the halfway line, drew a penalty which Biggar threaded through the posts from distance for an 8-3 scoreline. It was a much-needed score for the Ospreys, who lost Hook to a shoulder injury.
The five-point margin remained in place for half-time as David Wallace was held up over the line in injury-time, a combination of Biggar, Rhys Webb and Ryan Jones doing the necessary for the Ospreys.
The defending champions were on the back foot again when the second half resumed, O'Gara misjudging a long range penalty before the Ospreys were reduced to 14 men.
After repeated team warnings, replacement hooker Richard Hibbard received a yellow card for an illegal entry at a ruck and O'Gara duly added the three points to Munster's tally.
Biggar thumped over his second penalty, punishing Damien Varley for a ruck offence, before Munster landed a telling blow in the form of Barnes' 57th-minute try.
The Tralee youngster charged down Fussell's attempted clearance and collected the bouncing ball to sprint in behind the posts. O'Gara's simple conversion gave Munster some breathing space at 18-6.
Fussell redeemed himself when dislodging the ball as Wallace drove towards the posts, and Tommy Bowe had to on his toes to deny Howlett's chip and chase effort.
As this heavyweight tussle became looser and looser, the Ospreys showed much more enthusiasm in attack and Biggar's grubber kick was dotted down by a diving Fussell in the left corner.
Biggar could not add the extras and the Ospreys, despite enjoying a long spell of possession in injury-time, were unable to unlock the Munster defence again.
|Munster Rugby Score Card|
|Ospreys Score Card|