La commune de Smarves est situèe au sud de la grande couronne de Poitiers, à environ 10 kilomètres de cette ville. En bordure des Bois de Saint-Pierre et de la rivière le Clain, qui la sépare de la commune de Ligugé, Smarves s'est développé grâce à sa proximité avec la capitale régionale. Elle est frontalière, au sud, avec la commune des Roches Prémarie, à l'ouest avec la commune de Ligugé, au nord et au nord-est avec celle de Saint-Benoit, et au sud-est avec celle de Nouaillé-Maupertuis. Elle se situe sur le point géographique du Seuil du Poitou , défini par une veine granitique reliant les massifs Armoricain et Central, et qui est accessible en bordure de la rivière (route de port segun).