A late Olly Barkley penalty helped give Racing Metro an unlikely Heineken Cup victory over Munster at a wet and soggy Stade de France.

Simon Zebo looked like he had earned the visitors the points with a brilliant 73rd-minute solo try, but when Conor Murray was penalised for holding on inside his 22 with three minutes left,  Barkley held his nerve to give Racing the lead.

Mirco Bergamasco, kicking while Barkley received treatment, then struck another penalty in the final minute to give the French club a famous first home win in the Heineken Cup.

Sean Dougall's 15th-minute try had helped Munster take a 10-0 lead in this Pool 1 opener, while Ronan O'Gara passed 1,300 Heineken Cup points as Munster looked in complete control early on.

But when Doug Howlett failed to collect a low pass from O'Gara, home scrum-half Maxime Machenaud chased through for a try after 31 minutes.

Having converted that try, Barkley, making his first start at fly-half after signing from Bath as emergency cover, then slotted over a penalty to give Racing a 13-10 half-time lead.

After a scrappy start to the second half in muddy conditions, Racing's latest signing struck another huge penalty to extend the home side's advantage

But, just when it looked like Racing might hold on, Zebo scored with seven minutes left and Ian Keatley's conversion from wide out on the left put Munster 17-16 in front.

However, two late infringements cost Munster dear as Racing stole the points.

Six of the Munster side were making their first starts in Europe but they showed no fear from the outset - Keatley's chip through forcing Benjamin Fall to fumble on his own line.

That gave Munster a five-metre scrum and when Racing were penalised under the posts, O'Gara had the simple task of slotting over after nine minutes.

Six minutes later Munster's early dominance was rewarded further as new flanker Dougall showed admirable footwork to skip home under the posts.

O'Gara converted but Barkley replied with a monster penalty to make it 10-3 after 19 minutes.

Munster's hunger was in evidence when they sacked Barkley behind his own posts to earn another five-metre scrum, and when Peter O'Mahony was held up on the line, the returning Paul O'Connell thought he had done enough to earn a second try.

It went upstairs though and the video showed that the second row had dropped the ball as he was driven over.

Racing were struggling to get out of their own half but they got right back into the game on 31 minutes after O'Gara's pass was spilled by Howlett.

Jacques Cronje kicked towards the try-line and Machenaud was the man to benefit, the Racing scrum-half getting the benefit of the doubt after his messy touchdown.

Suddenly it was 10-10 and Munster suffered another blow when O'Gara was forced off with a hamstring injury, with Denis Hurley coming on at full-back and Keatley moving to fly-half.

It almost got worse when Casey Laulala's clearance was charged down inside his 22. Keatley reacted quickly to save the day, though the home fans claimed that Karim Ghezal was taken out by Murray as the Racing man closed in on the loose ball.

Barkley added another penalty as Racing somehow found themselves 13-10 up at half-time.

The second half was incredibly scrappy in horrendous conditions but after Barkley extended Racing's lead, out of nowhere Zebo slalomed through the Racing defence to score, profiting from Howlett's quickly taken lineout on the opposite side of the field.

Keatley's fine conversion from the left had the province within touching distance of the victory, but Murray's infringement proved crucial as Barkley kept his cool before Bergamasco's last-minute penalty sealed the triumph.