El municipio de Buenavista se encuentra al sureste de la provincia de Salamanca, aproximadamente a unos 20 kilómetros al sur de la capital salmantina siguiendo la carretera nacional 630 (Gijón-Sevilla) o como se conoce por aquí carretera de Bejar, a la altura del kilómetro 365 desde Gijón y 22 desde Salamanca aparece el cruce a la izquierda y en menos de 1 km estaremos en el pueblo de Buenavista.
Los limites del término son: Al norte limitamos con Mozarbez y Martinamor, al este con Encinas de Arriba y Sieteglesias, al sureste con Beleña, al suroeste con Monterrubio de la Sierra y al oeste con Morille.
La forma del término municipal de Buenavista es alargada de noroeste a sureste siendo dividido el término en dos mitades por la nacional 630, quedando el núcleo urbano tradicional al este de dicha nacional.
Cuenta con una extensión de 2.722 hectáreas.
Existen dos zonas perfectamente diferencias, una es Terrados que ocupa casi 2.000 hectáreas y se sitúa en la parte occidental del término. La otra, Buenavista y sus tierras anejas, que ocupan unas 600 hectáreas situadas en la parte sur - este del término. Entre amabas zonas hay dos fincas, El Molino y El Caloco con casi 200 hectáreas.
Incluso esta diferenciación fue de tipo histórico ya que Terrados fue término municipal propio o incluso perteneció a Morille.