Besökarna tog ledningen tre gånger under första halvlek tack vare försök från Justin Horo, Luke Walsh och Tony Gigot.
Men poäng från Theo Fages, Alex Walmsley och Louie McCarthy-Scarbrook gav Saints ledningen i intervallet.
Horos andra försök satte drakarna framför men försöker från Jonny Lomax, Mark Percival, Luke Thompson och Ryan Morgan guidade värdarna till seger.
Luke Walshs mål efter Richie Mylers försök flyttade den franska sidan till tillbaka inom två punkter innan Saints korsade tre gånger under de sista 10 minuterna.
En tredje seger i fyra matcher flyttar Justin Holbrook män till inom tre punkter av fjärde plats Wakefield.
Katalanerna, som redan hade sänts till kvalificeringarna, har nu förlorat fem av sina senaste sex matcher.
S:t Helens tränare Justin Holbrook:
"Det var en fara spel för oss särskilt efter vår seger (mot Hull FC) förra veckan. Vi var tvungna att tjäna två poäng och de knuffade oss.
"De började bra och vi var inte upp till våra höga krav i första halvlek.
"Vi måste ge dem äran. Jag är nöjd med hur vi avslutade matchen.
"Vi bytte ledningen några gånger och pojkarna gjorde väl i att stänga ut den.
"Vi har fått några vinster tillsammans och det är ett stort spel nästa söndag (mot Wakefield) och om vi kan fortsätta att förbättra då skulle jag säkert backa oss (i play-offs)."
Katalanska drakar tränare Steve McNamara:
"Det var en besvikelse att förlora som vi gjorde. Med åtta och en halv minut kvar var vi två punkter nere på resultattavlan.
"Det var ett riktigt tutt-för-tat spel. Vi befann oss i en position för att vinna det och vi har medgett en hel del punkter i slutet vilket gör poänglinjen ser löjligt.
"Vi går i rätt riktning och vi vet var vi är för resten av säsongen."
St Helens: Lomax, Makinson, Morgan, Percival, Grace, Fages, Richardson, Douglas, Roby, Thompson, Taia, Peyroux, Wilkin.
Ersättningar: Walmsley, McCarthy-Scarsbrook, Lee, Knowles.
Katalanska drakar: Gigot, Tierney, Inu, Duport, Yaha, Walsh, Myler, Moa, Aiton, Bousquet, Anderson, Horo, Baitieri.
Ersättningar: Casty, Bird, Da Costa, Navarrete.
Domare: Ben Thaler (RFL)
St Helens ökade sina förhoppningar om en topp-fyra finish med en kämpande Super League seger över katalaner.