Perpignan (9) 14
Tries: Guirado Pens: Mele 3
Munster (10) 37
Tries: Fogarty, Hurley, De Villiers, Howlett Con: O'Gara 3, Warwick Pens: O'Gara 3
Munster's David Wallace is tackled by Bertrand Guiry and Nicolas Mas
Munster moved back to the top of Heineken Cup Pool One with a superb bonus-point victory in Perpignan to end the hosts' 23-match unbeaten home run.
Denis Fogarty's try helped the two-time champions to a 10-9 half-time lead.
And they surged clear after the break with two Ronan O'Gara penalties and a Denis Hurley try after 58 minutes.
Guilhem Guirado's try gave Perpignan hope before Jean de Villiers and Doug Howlett went over to take Munster two points clear of Northampton.
It was a rare defeat for Perpignan at the Stade Aime Giral - they had won their last 16 home games in the Heineken Cup, and 23 in all competitions.
But they succumbed for the first time in Europe since Wasps - who went on to win the tournament - won there in 2004.
David Mele kicked a fourth-minute penalty as the hosts made a strong start in front of vociferous crowd.
But Munster were going to be no pushovers and they were soon tackling with the tenacity which has brought them two Heineken Cup triumphs.
O'Gara missed with a drop-goal attempt in the knowledge that a penalty was coming Munster's way, and he made no mistake with his second strike.
Fantastic performance. Really muscular fire-with-fire stuff all over.
The opening try came after 23 minutes when hooker Fogarty drove low over the line after Munster pressed Perpignan back from a line-out.
O'Gara added the extra points to make it 10-3 but the French champions finished the half strongly.
Mele was presented with four penalty chances in the final 10 minutes and Munster were fortunate that he only converted two, leaving a point between the sides at the break.
O'Gara stretched Munster's lead with his second penalty five minutes into the second half.
Perpignan prop Jerome Schuster was then yellow-carded for a head-butt on Denis Leamy, with O'Gara following him to the sin-bin a minute later for an off-the-ball tackle.
But with O'Gara off the pitch the Irish team scored a decisive second try after 58 minutes when Paul Warwick's quick pass gave Hurley the space to sprint over in the corner.
Warwick converted from a narrow angle to put Munster in total control at 23-9.
Replacement Guirado burst clear to go over in the corner for Perpignan after a clever line-out move involving Mele, who missed with the conversion.
But the visitors were soon back on the attack and replacement centre De Villiers showed his class with a neat side-step and sprint past four defenders for another five points.
O'Gara put 16 points between the sides with the conversion and his kick through set up Howlett to touch down and secure a prized bonus point in the dying seconds.
Munster captain Paul O'Connell: "It's a great day for us. We put a lot of hard work into the game and we had a big work ethic, especially at the breakdown.
"We were patient and, once we transferred what we'd been doing on the training ground onto the pitch, then we knew we'd play well."
Munster coach Tony McGahan: It's the best away win in my time but we hope there are more games like this in us.
"I'm delighted for the players because they have worked exceptionally hard and are a great bunch of players to be around.
"This was a really difficult place to come to but to get a bonus-point win in the end is absolutely outstanding.
"This sort of environment brings the best out of us and it was a great team effort."
Perpignan: Burger; Sid, Marty, Mermoz, Manas; Hume, Mele; Schuster, Tincu, Mas, Olibeau, Tchale-Watchou, Vivalda, Guiry, Tonita.
Replacements: Porical for Burger (61), Grandclaude for Marty (70), Durand for Mele (68), Freshwater for Schuster (60), Guirado for Tincu (59), Pulu for Mas (73), Alvarez for Vivalda (70), Parent for Tonita (59).
Sin Bin: Schuster (48).
Munster: Warwick; Howlett, Earls, Mafi, D Hurley; O'Gara, O'Leary; Du Preez, Fogarty, Hayes, O'Callaghan, O'Connell, Quinlan, Wallace, Leamy.
Replacements: De Villiers for Mafi (63), D Hurley for du Preez (77), Varley for Fogarty (65), Buckley for Hayes (72), O'Driscoll for O'Callaghan (76), D Ryan for Quinlan (63), Ronan for Wallace (77).
Not Used: Stringer.
Sin Bin: O'Gara (52).
Ref: Dave Pearson (RFU).