Este municipio limita al norte con el municipio de Irapuato, al este con Salamanca, al sur con Valle de Santiago y al suroeste limita con el municipio de Abasolo. Posee una extensión territorial de 60.55 kilómetros cuadrados y se encuentra a una altura de 1,700 metros sobre el nivel del mar.