Colinda al norte con el municipio de Santa Cruz de Juventino Rosas, al oriente con los municipios de Celaya y Cortazar, al sur nuevamente con Cortazar y también con Salamanca y al oeste continúa limitando con Salamanca. Tiene una superficie territorial de 125.44 kilómetros cuadrados y una altura promedio de 1,730 metros sobre el nivel del mar.