Au sud-est du département de la Dordogne, en Périgord noir, la commune de Saint-Léon-sur-Vézère est, comme son nom l’indique, arrosée par la Vézère qui y forme deux méandres successifs. Elle est membre de l’association « Les Plus Beaux Villages de France ».
L’altitude minimale, 62 mètres, se trouve au sud-ouest, là où la Vézère quitte la commune pour entrer sur celle de Peyzac-le-Moustier. L’altitude maximale avec 260 mètres est localisée au nord, près du lieu-dit Argiller, en limite de la commune de Plazac.
Le village de Saint-Léon-sur-Vézère, au bord de la rivière et traversé par la route départementale 66, se situe, en distances orthodromiques, huit kilomètres au sud-ouest de Montignac et onze kilomètres au nord-est des Eyzies.
La commune est également desservie par la route départementale 706 qui longe la Vézère en rive droite, et par la route départementale 45 au nord.
Le sentier de grande randonnée GR 36 traverse le territoire communal sur plus de cinq kilomètres.