Ubicado en la región suroeste de la entidad, colinda al norte con los municipios de Guanajuato y Silao, al sur con Pueblo Nuevo y Abasolo, al oeste nuevamente limita con el municipio de Abasolo y también con Romita y finalmente al este con Salamanca. Cuenta con una extensión territorial de aproximadamente 845.16 kilómetros cuadrados y una altitud promedio de 1,730 metros sobre el nivel del mar.