Olly Barkley's 14 points helped Racing Metro beat a sloppy Munster side in the Heineken Cup Pool One opener in Paris.
Sean Dougall's try helped Munster lead 10-0 with Paul O'Connell then squandering another try-scoring chance.
Maxime Machenaud's breakaway try, after a poor Ronan O'Gara pass, saw Racing fight back to lead 13-10 at the break.
Barkley extended Racing's lead and while Simon Zebo's try helped Munster move ahead again, two late penalties sealed the French club's deserved win.
Munster scrum-half Conor Murray will regret conceding the 75th-minute penalty which gifted the impressive Barkley the chance to put Racing ahead again after Zebo's superb try had put the Irish side in front four minutes earlier.
Mirco Bergamasco's further penalty sealed Racing's victory as Munster ended the game in some disarray.
The visitors had looked in total control in the opening half hour but the match totally unravelled for Rob Penney's side after Machenaud's 32nd-minute try.
O'Gara, after his impressive opening half-hour, was at fault for Machenaud's score as his poor pass in midfield was spilled by Doug Howlett and culminated in the Racing scrum-half kicking ahead to score.
The Munster fly-half was forced out of the contest a minute later because of a hamstring injury, and the Irish province's performance soon suffered because of errors.
It had all appeared so promising for Munster early on as they held a decided edge in the scrum.
Early pressure yielded three quick points for O'Gara, and Peter O'Mahony's break after a line-out then set up a try for Heineken Cup debutant Dougall in the 15th minute.
Barkley, playing his first game for Racing after his recent move from Bath, opened the French club's scoring in the 19th minute but Munster soon were camped back in the opposition 22.
O'Connell, making his return to action after five months out, was initially awarded a 27th-minute try but the score was correctly cancelled out after the video showed that the ball had not been grounded.
It proved a pivotal moment as Machenaud's try had the sides level within five minutes.
Two further Barkley penalties on either side of half-time put Racing 16-10 up as they dominated the Irish side up front.
Against the run of play, Zebo's superb try helped edge Munster ahead on 71 minutes as he beat two tackles to score, with Ian Keatley bravely slotting the difficult conversion.
But Murray's moment of madness as he was caught in possession in his own 22 enabled Barkley to kick Racing ahead again and Bergamasco's further penalty two minutes from time ensured the French club's victory.
Racing Metro 92: B Fall; J Jane, M Bergamasco, J Martin Hernandez , J Saubade; O Barkley, M Machenaud; A Lo Cicero, D Szarzewski, L Ducalcon, K Ghezal, F Carl Van der Merwe, A Battut, J Cronje (capt), S Matadigo.
Replacements: V Vakatawa for Fall 66 mins, E Ben Arous for LoCicero 67, T Bianchin for Szarzewski 70, F Metz for van der Merwe 61, C Gerondeau for Battut 80, B Le Roux for Matadigo (61).
Not Used: B Sa, S Descons.
Munster: I Keatley; D Howlett (capt), C Laulala, J Downey, S Zebo; R O'Gara, C Murray; D Kilcoyne, D Varley, BJ Botha; B Holland, P O'Connell; D Ryan, S Dougall, P O'Mahony
Replacements: D Hurley for O'Gara 34, M Horan for Kilcoyne 73, M Sherry for Varley 55, Dave O'Callaghan for O'Connell 64, P Butler for Dougall 74
Not Used: S Archer, P Stringer, D Barnes
Ref: Greg Garner (RFU).