Limita al norte con los municipios de Comonfort, San Miguel de Allende y Celaya, en la zona del este con el estado de Querétaro de Arteaga, al sur con el municipio de Apaseo el Alto y en la parte oeste con el municipio de Celaya. Cuenta con una superficie territorial de 415.26 kilómetros cuadrados.