La ciudad se encuentra a una altitud de 297 metros sobre el nivel del
mar y tiene una extensión superficial de 320 hectáreas. El término municipal abarca en su totalidad 431,94 km², limitado al norte por
Marchena y
Arahal; al este por
La Puebla de Cazalla; al sur por
Coripe,
Montellano,
Pruna,
Olvera y
Puerto Serrano, los dos últimos ya en la provincia de
Cádiz; y al oeste por parte del término municipal de Arahal.