Firminy possède une gare sur la ligne de Saint-Georges-d'Aurac à Saint-Étienne-Châteaucreux.
Cette gare est desservie par des trains régionaux de la ligne 3 du réseau Express Régional du Centre (TER Centre) et permet de rejoindre les villes de Saint-Étienne, Le Puy-en-Velay et Clermont-Ferrand.