Racing 92 fly-half Antoine Gibert (C) scored 18 points in their Top 14 play-off victory over Pau

Pau (France) (AFP) - Racing 92 upset Pau 33-31 on Saturday to qualify for the Top 14 semi-finals and a clash against champions Toulouse in Marseille next weekend.

Scrum-half Leo Carbonneau scored two tries as the Parisians kept alive their hopes of a first French title in a decade in a gripping encounter.

Pau had produced a stunning comeback in late March to beat Racing in this same Stade du Hameau ground.

They had trailed 17-3 early in the second half in March and were still behind until a minute to go, but two late tries gave them a 27-17 victory in a match they had dominated.

They trailed 33-17 in this game but despite a late comeback, they simply could not get over the line.

It was Pau’s first home league defeat this season in what was their first play-off match since 2000.

Racing took just 73 seconds to open the scoring after centre Vinaya Habosi burst through one tackle and sucked in two more defenders before producing a brilliant offload to Maxime Baudonne, after which the Parisians exploited a numerical advantage on the wing to send Carbonneau over.

Pau needed little time to bounce back with fly-half Joe Simmonds kicking a penalty and then second row Hugo Auradou barging over from close range.

Just after the half-hour mark, English half-back pair Dan Robson and Simmonds combined for the latter to scythe through a gaping hole to score from close range.

He converted to give Pau a 17-10 lead.

But Antoine Gibert scored three first half-half penalties to keep Racing within a point of Pau at half-time.

And it could have been better but for English full-back Sam James throwing a loose pass close to Pau’s tryline when Racing looked set to earn a first half advantage.

They did not have to wait long for that after the restart as Gibert kicked another penalty and then veteran France centre Gael Fickou twisted over from close range for their second try.

But the game seemed to turn definitively when Pau coughed up the ball in their own half and prop Demba Bamba scampered away before passing to Carbonneau to score his second try.

Gibert’s conversion gave Racing a three-score lead with 26 minutes to play.

The reaction was immediate as Pau bundled No.8 Beka Gorgadze over the whitewash from a short-range penalty.

And a catch and drive from a close range line-out eight minutes from time saw replacement hooker Lucas Rey shoved over.

Simmonds’s successful transformation cut the gap to two points, and Pau had all the momentum but the final winning score escaped them.