Située dans le sud du département de la Corrèze, en région Nouvelle-Aquitaine, dans une zone calcaire rocheuse, la commune de Nespouls est composée de petits villages.
La commune de Nespouls, dont fait partie le lieu-dit Belveyre, se situe à proximité de la route départementale D920, environ à mi-chemin entre Brive-la-Gaillarde et Souillac. La sortie d'autoroute la plus proche est la sortie 53 de l'autoroute A20, située à 2 km.
Nespouls est entourée par les communes de Chasteaux, Noailles, Jugeals-Nazareth, Chartrier-Ferrière, Estivals, Turenne et Cressensac.
La grande ville la plus proche de Nespouls est Brive-la-Gaillarde.
La commune est proche du Parc Naturel Régional des Causses du Quercy.