Saint-Martin-Cantalès liegt etwa 27 Kilometer nordnordwestlich von Aurillac.
Nachbargemeinden sind Pleaux im Nordwesten und Norden, Besse im Osten, Saint-Cirgues-de-Malbert im Südosten, Saint-Illide im Süden sowie Arnac im Südwesten und Westen.
An der nördlichen Gemeindegrenze verläuft der Fluss Maronne, im Westen sein Zufluss Etze und im Süden dessen Zufluss Bertrande.