Établie à 784 mètres d'altitude, la gare de Saint-Flour - Chaudes-Aigues est située au PK 689,628 de la ligne de Béziers à Neussargues, (dite aussi ligne des Causses)