
El pueblo de Villaflores se encuentra situado en plena meseta castellana, en el vértice que comparten las provincias de Salamanca, Zamora, Ávila y Valladolid, a 5° 14' de longitud este, 41° 4' de latitud norte y una altitud sobre el nivel del mar de 777 metros
Limita con los términos municipales de Cantalapiedra al Noreste, Vallesa de Guareña al Noroeste, Cantalpino al Oeste, Poveda de las Cintas al Suroeste, y Palaciosrubios al Sureste.

Situado a 16 kilómetros de Cañizal por donde discurre la autovía E-80 que conecta Portugal con Francia a través del noroeste español. A 43 km de Arévalo por donde pasa la autovía A-6 que conecta Madrid con Galicia y a 40 Km de Salamanca, capital de la provincia, por donde pasa, además de la ya mencionada autovía hacía Portugal, la autovía de la Plata A-66 que conecta el norte con el sur peninsular con un trayecto paralelo a la frontera portuguesa, conecta con el norte con Zamora y por el sur con Cáceres. La conexión con Ávila y Madrid se realiza a través de la autovía A50.
Las distancias respecto a las capitales de provincia más cercanas son:

- 40 Km a Salamanca
- 96 Km a Valladolid
- 83 Km a Ávila
- 58 Km a Zamora
- 215 Km a Madrid
La orografía de la zona es casi llana
En cuanto a comunicaciones ferroviarias, se encuentra situado a 7 Km de la estación de ferrocarril de Cantalapiedra en la línea Fuentes de Oñoro - Salamanca - Medina del Campo, nudo ferroviario que permite conectar con el resto de la geografía del país.
El aeropuerto más próximo se encuentra a 34 Km que es el de Matacán - Aeropuerto de Salamanca