The home side took an early lead after just three minutes through Tom Ecochard, who landed a penalty goal.
Gloucester replied 10 minutes later with a try from Jonny May to put them ahead.
Sione Piukala grabbed a try for Perpignan on 18 minutes, followed by a conversion from Ecochard.
Three minutes later, Charlie Sharples bagged another try as Gloucester opened up a nine-point lead at half time.
Ecochard scored an early penalty just a minute into the second half, although Monahan cancelled that out with another try on 53 minutes.
Karl Chateau scored Perpignan's second try of the game on 62 minutes in a bid to force a comeback, but they couldn't quite dominate enough to put Gloucester under pressure.
Burns scored a penalty on 73 minutes to increase the lead, before Ben Morgan scored a late try just before the end of the game to secure the win.