Two penalties from Juan Martín Hernandez gave Racing Metro the lead early on but a James Hook penalty was followed by a try in the 24th minute from Tonga international prop Sona Taumalolo as Perpignan went 8-6 in front.
Another penalty from Hook meant the Catalans went in at the break holding an 11-6 lead but then Racing went back in front early in the second half when a powerful drive was finished off by Sakiusa Matadigo with the try then converted by Hernandez.
However, Hook sealed the victory for Perpignan in the final 10 minutes with a penalty and then a drop goal.
Both sides now have 20 points to leave them just outside the play-off spots.

