Die Kleinstadt mit etwa 6.500 Einwohnern liegt auf einem ca. 900 m hoch gelegenen Basaltplateau vulkanischen Ursprungs über dem Fluss Ander und ist in eine Ober- und Unterstadt geteilt. Die Oberstadt wartet mit zahlreichen Renaissance-Häusern und der Kathedrale Saint-Pierre auf. Der „Pont Vieux“, eine dreibogige Steinbrücke über die Ander ,wurde bereits im Jahr 1404 erwähnt
Le Puy-en-Velay liegt etwa 95 km (Fahrtstrecke) östlich, Rodez ungefähr 110 km südwestlich.
Saint-Flour ist an die mautfreie Autobahn A75/E11 angebunden. Über die ehemaligen RN9 lag sie schon vor dem Autobahnbau an einer wichtigen Nord-Süd-Verbindung. Seit 1888 ist Saint-Flour an die Bahnstrecke Béziers–Neussargues angeschlossen.