The Ospreys boosted hopes of Heineken Cup qualification and dented Munster's Celtic League title aspirations with a fine victory at the Liberty Stadium.
Ospreys (13) 27:
Tries: S. Williams (2), J. Spice
Cons: G. Henson (3)
Pens: G. Henson (2)
Munster (10) 10:
Try: Penalty try
Con: R. O'Gara
Pen: R. O'Gara
A second Gavin Henson penalty was all that separated the sides at the break after Shane Williams' try was cancelled out by Munster's penalty try.
But the Ospreys cut loose after the break with tries from Williams and Jason Spice as Munster were shut out.
Henson converted all three tries in a faultless kicking display.
Ronan O'Gara's penalty on 13 minutes got the scoreboard ticking over, but the Ospreys soon responded with Williams' spectacular solo try.
The diminutive winger, who signed a new three-year contract this week, shrugged off O'Gara's attempted midfield tackle and raced home from 20 metres after a trademark sidestep beat the covering defence to score his first Celtic League try this season.
Henson, switched to full-back from his usual centre role, added the conversion and then a penalty on the half hour to put the home side 10-3 ahead.
Munster had been surprisingly subdued until then, but the Heineken Cup finalists put the Ospreys under severe pressure in the last five minutes.
The unrelenting forward drives just metres from the home side's tryline first led to a yellow card for Ospreys prop and captain Duncan Jones for coming into the side of a ruck.
And after giving away a few more penalties, the referee lost his patience and awarded a penalty try. O'Gara converted in front of the posts.
But the Ospreys hit straight back with a Henson penalty in injury time to take them in 13-10 ahead at half-time.
The home backs had looked a class above their opponents in the first half, and they combined superbly shortly after the break to send Williams over for his second score.
The pre-planned move was launched from a scrum just inside Munster's half and ended with Williams benefiting from an overlap to race down the left wing.
Munster's hopes took a blow on the hour when hooker Denis Fogarty was sin-binned for slowing down the ball in the ruck inside his own 22.
The Ospreys declined the easy shot at goal in favour of an attacking line-out, and the decision proved the correct one as scrum-half Spice showed great strength to score their third try.
Henson maintained his perfect record with a third conversion to give the Ospreys a commanding lead which they never looked like relinquishing.
Ospreys club captain Barry Williams came on in the final stages to make his first appearance in four months following surgery on a career-threatening neck disc problem.
The home side were inches away from scoring a fourth try and a bonus point in injury time, but Richard Mustoe's kick ahead went over the deadball line after 70-metre breakaway.
Ospreys coach Lyn Jones:
"Munster are a sound side and always difficult to beat.
"Turning around at 13-10 I was disappointed and fearing the last 20 minutes because of the strength they have, but we wiped them out.
"And there were some great individual displays from a couple of fellas who have put their hands up for Wales' tour to Argentina."
Ospreys: Gavin Henson; Jonny Vaughton, Sonny Parker, Andrew Bishop, Shane Williams; Shaun Connor, Jason Spice; Duncan Jones (capt), Huw Bennett, Adam Jones, Alun-Wyn Jones, Ian Evans, Jonathan Thomas, Steven Tandy, Andrew Lloyd.
Replacements: James Bater for Steven Tandy (41), Paul James for Andrew Lloyd (42), Andrew Lloyd for Paul James (46), Stefan Terblanche for Andrew Bishop (72), Lyndon Bateman for Ian Evans (72), Paul James for Adam Jones (75), Barry Williams for Huw Bennett (76), Matthew Jones for Shaun Connor (79), Richard Mustoe for Jason Spice (79).
Munster: Shaun Payne; Anthony Horgan, Christian Cullen, Trevor Halstead, Mossy Lawlor; Ronan O'Gara, Mike Prendergast; Eugene McGovern, Denis Fogarty, John Hayes, Mick O'Driscoll, Paul O'Connell, Stephen Keogh, Denis Leamy, Anthony Foley (capt).
Replacements: Donnacha O'Callaghan for P O'Connell (16), Tomas O'Leary for Anthony Horgan (41), Gary Connolly for Christian Cullen (60), John O'Sullivan for Gary Connolly (65), Damian Varley for Eugene McGovern (65), Alan Quinlan for Stephen Keogh (66), Tim Ryan for John O'Sullivan (68), John O'Sullivan for Tim Ryan (73).
Referee: Graeme Hannah (Scotland)