An immense kicking display by Racing 92 skipper Maxime Machenaud, including two penalties in the closing four minutes, snatched victory from Munster to leave Pool 4 in the Champions Cup wide open.
Munster still lead the French side by a point, but will now have to beat Castres at home in the final round at Thomond Park to guarantee winning the pool and staying in the hunt for a home quarter-final.
All that might have been different had Racing gone for a bonus-point try when they picked up a penalty 10 metres out from the Munster posts two minutes from time, leading 31-30. They went for the points instead and only picked up four points for the win instead of a possible five.
In a thrilling game under the closed roof at Racing's new Parisian home at the U Arena, the lead changed hands no fewer than four times in the second half in the first Champions Cup match played at the venue.
Racing travel to Welford Road to face Leicester in round six knowing they must win to stay in contention for a trip to the last eight. If they can get off to a similar start to the one they fashioned at home then they will give themselves a great chance.
A week after hammering Clermont Auvergne 58-6 at their new home they raced into a 10-point lead with a try from flanker Yannick Nyanga after only three minutes and a conversion and penalty from Machenaud. The scrum-half kicked six out of seven in the win over Clermont and he was even better against Munster with seven out of eight for a match tally of 19 points.
The Munster goal-kicking suffered by comparison as both Ian Keatley and long-range specialist Conor Murray hit the post in the first half. Murray also missed with another effort in the second half.
Lock Jean Kleyn reached out in the first half to score the first of Munster's three tries, with Keatley adding the conversion, but another Machenaud penalty made it 13-7 at the break.
Marc Andreu dived over in the left corner four minutes into the second half to stretch the lead but Munster's response was swift and two tries in the space of five minutes from the brilliant Keith Earls and midfield blockbuster Chris Farrell put them into the lead at 21-18.
Machenaud levelled matters with another penalty when Stephen Archer was penalised for popping out of a scrum on 54 minutes.
Two Keatley penalties edged Munster back in front before replacement hooker Dmitri Szarzewski raced around the front of a line-out 20 metres out to score a try that Machenaud improved to make it 28-27.
Murray's kick from just inside his own half on 75 minutes edged his side back in front 30-28 and it looked as though the two-time champions were going to clinch their ticket into the knock-out stages with a week to spare.
But from the restart their former second-rower Donnacha Ryan grabbed the ball and earned his side a penalty. Machenaud made it 31-30 before knocking over the final kick two minutes from time to make victory safe.