The win keeps Perpignan’s hopes for a knock-out spot alive whilst the Dragons’ run has come to an end.
The hosts got off to ideal start, with the game less than a minute old full-back Jerome Porical slotted his first penalty of the evening.
This was soon followed by two more in quick succession before the Dragons had registered their first points. Those came through the boot of Matthew Jones after 16 minutes.
Porical kicked six more first half points to give his side a 15-3 advantage at the break.
The Dragons started the second period in style with Wales wing Aled Brew touching down after two minutes. Jones added the extras to bring the Welsh region right back into contention.
The visitors lost Robert Sidoli to the sin-bin and then conceded their first try as hooker Charles Geli scored with Porical adding the extras.
In a fierce battle at Stade Aimé Giral the hosts lost replacement duo Armand Battle and Robins Tchale-Watchou to the sin-bin at the same time for two dangerous tackles. Jones kicked over three points for the Dragons but that was all they could manage against the 13-men French side.
Tchale-Watchou returned to score a late try for Perpignan, the result of a powerful forward effort.