Localizado en la zona sur del estado, colinda con el municipio de Santiago, al sur con Galeana e Iturbide, al oriente con Montemorelos y al poniente con los municipios de Galeana y Coahuila. Posee una extensión territorial de 905.20 kilómetros cuadrados y una altura promedio de 906 metros sobre el nivel del mar.