Su término municipal tiene una superficie de 447,53 km² y limita con los municipios granadinos de Algarinejo, Zagra, Montefrío, Villanueva Mesía, Huétor-Tájar, Salar, Alhama de Granada y Zafarraya; con los municipios malagueños de Alfarnate, Villanueva del Trabuco, Archidona y Villanueva de Tapia; y con el municipio cordobés de Iznájar.