Este municipio se localiza en la región sureste de la entidad, colinda al norte con el estado de San Luis Potosí, al sur con Ojocaliente, al oriente con Villa González Ortega y al poniente una vez más con el municipio de Ojocaliente y con Trancoso. Posee una extensión territorial de 430 kilómetros cuadrados y una altura promedio de 2,100 metros sobre el nivel del mar.