A flawless kicking display from full-back Jerôme Porical helped Perpignan to a 21-13 win over Toulouse in Friday's Top 14 semi-final in Montpellier.
Toulouse scrum-half Mathieu Bezy scored the only try of the game early on but seven penalties from Porical proved enough for the defending champions to book a place in the Final in Paris on May 29.
If there was one telling statistic, it was the penalty count which swung heavily in Perpignan's favour. A reshuffled pack and some tired legs in the second half meant that Toulouse were penalised thirteen times compared to Perpignan's six.
As a mark of how the match was dominated by two extraordinary defences, Perpignan were only able to break into the Toulouse 22 once in the whole match!
After dominating Leinster and Castres' packs in their recent games, Toulouse met their match in fired-up set of Catalans forwards.
Toulouse sparked conversation by scrum-half Byron Kelleher and giving youngster Bezy as start, bit it was he who opened the scoring after just eight minutes.
Centre Florian broke through the Catalan defence before linking with Clément Poitrenaud. On his inside, the full-back found David Skrela who burnt up the ground down the touchline before handing the try to Bezy.
Skrela's conversion gave Toulouse the perfect start but Porical as able to pull two penalties back as the Toulouse scrum suffered under pressure from the defending champions.
The scrum continued to chaotic and referee Romain Poite continued to dish out penalties to both sides. The opposing place-kickers swapped three-pointers at regular intervals until the break with Toulouse leading 13-9 at half time.
Porical put the title holder ahead soon after the break and from there Toulouse were playing catch-up.
The Heineken Cup Finalists did most of the playing in the second half, but made too any errors, allowing Perpignan's sharpshooter to slot three more penalties to Skrela's one to seal the game.
Pens: Porical 7
Pens: Skrela 2
USA Perpignan: 15 Jerome Porical, 14 Farid Sid, 13 David Marty, 12 Maxime Mermoz, 11 Christophe Manas, 10 Gavin Hume, 9 Nicolas Durand, 8 Jean-Pierre Pérez, 7 Henry Tuilagi, 6 Ovidiu Tonita, 5 Robins Tchale-Watchou, 4 Olivier Olibeau, 3 Nicolas Mas (c), 2 Guilhem Guirado, 1 Perry Freshwater.
Replacements: 16 Marius Tincu, 17 Jerome Schuster, 18 Guillaume Vilaceca, 19 Gregory Le Corvec, 20 David Mélé, 21 Jean-Philippe Grandclaude, 22 Philip Burger, 23 Kisi Pulu.
Stade Toulousain: 15 Clément Poitrenaud, 14 Vilimoni Delasau, 13 Florian Fritz, 12 Yannick Jauzion, 11 Cédric Heymans, 10 David Skrela, 9 Mathieu Bezy, 8 Shaun Sowerby, 7 Finau Maka, 6 Jean Bouilhou, 5 Patricio Albacete, 4 Yoann Maestri, 3 Census Johnston, 2 Virgile Lacombe, 1 Daan Human.
Replacements: 16 Wiliam Servat , 17 Benoit Lecouls, 18 Romain Millo-Chluski, 19 Thierry Dusautoir, 20 Louis Picamoles, 21 Maxime Medard , 22 Vincent Clerc, 23 Yann David.
Referee: Romain Poite