Colinda al norte con el municipio de San Felipe, al este con el municipio de Dolores Hidalgo, al sur con Salamanca e Irapuato y al oeste colinda con los municipios de Silao y León. Cuenta con una superficie territorial de 996.74 kilómetros cuadrados y se encuentra ubicado a una altura de 2,400 metros sobre el nivel del mar.