Benetton Treviso shocked Munster 34-10 to lift themselves up to eighth in the Pro12 and dent the away side's play-off chances.
Although Treviso are currently languishing below mid-table, they took the game to the Irish province and scored three first half tries through Ludovico Nitoglia, Filippo Giusti and Gideon la Grange.
And despite Munster responding early in the second period through a penalty try, Fabio Semenzato and Giulio Toniolatti secured an impressive win for Treviso.
The visitors went into the game six points behind the play-off places. A win was vital with their top-four chances in the balance, but it was the hosts who started the brighter.
Treviso's squad has been decimated because of the Six Nations and, although Munster had several players away themselves, they could still call on some exceptional individuals.
It was therefore a surprise to see the Italian outfit make all the running in the opening period but two tries in the first quarter was just reward for their early endeavour.
Just three minutes had elapsed when Nitoglia scampered across the whitewash before Giusti powered over soon after, while Alberto di Bernardo converted one of the two tries to give Benetton a 12-0 lead.
Ian Keatley reduced the deficit with a penalty but that only provided brief respite to the home side's surge, and they duly extended their advantage when la Grange touched down.
Di Bernardo then added a penalty as the hosts led 22-3 at the interval.
However, Munster came out for the second half with more intent and hooker Giovanni Maistri was yellow carded for persistent infringements in the scrum.
And they were eventually rewarded when, after several resets, a penalty try was given to take the score to 22-10.
But the Irish province couldn't build on that and it was Treviso that were next to go over when Semenzato scampered across the whitewash for the fourth try.
Munster tried to somehow narrow the deficit but it was Toniolatti that completed the scoring for the Italian side.
Tries: Nitoglia, Giusti, la Grange, Semenzato, Toniolatti
Cons: di Bernardo 3
Pens: di Bernardo 2
Yellow Card: Maistri
Try: Penalty Try
Treviso: 15 Brendan Williams, 14 Ludovico Nitoglia, 13 Andrea Pratichetti, 12 Gideon La Grange, 11 Giulio Toniolatti, 10 Alberto Di Bernardo, 9 Fabio Semenzato, 8 Christian Loamanu, 7 Filippo Giusti, 6 Dean Budd, 5 Corniel Van Zyl (c), 4 Valerio BernabÃ², 3 Jacobus Roux, 2 Giovanni Maistri, 1 Michele Rizzo.
Replacements: 16 Franco Sbaraglini, 17 Matteo Muccignat, 18 Pedro Di Santo, 19 Marco Fuser, 20 Marco Filippucci, 21 James Ambrosini, 22 Luca Morisi, 23 Tommaso Iannone.
Munster: 15 Felix Jones, 14 Denis Hurley, 13 Casey Laulala, 12 James Downey, 11 Johne Murphy, 10 Iain Keatley, 9 Duncan Williams, 8 James Coughlan. 7 Tommy O'Donnell, 6 Paddy Butler, 5 Billy Holland, 4 Ian Nagle, 3 Stephen Archer, 2 Mike Sherry (c) 1 Wian du Preez.
Replacements: 16 Damien Varley, 17 John Ryan, 18 BJ Botha, 19 D Foley, 20 CJ Stander, 21 Cathal Sheridan, 22 JJ Hanrahan, 23 Ivan Dineen.
Referee: Neil Paterson (SRU)
Assistant referees: Stefano Traversi, Stefano Marrama (both FIR)
Television match official: Mauro Dordolo (FIR)