San Miguel de Allende se localiza en la parte oriental del estado de Guanajuato, a 274 km de la ciudad de México, a 60 km de la capital de Querétaro, a 94 km de la ciudad de Guanajuato y a 41 km de Dolores Hidalgo. Tiene una altitud de 1 910 m sobre el nivel del mar.

Limita al norte con los municipios de San Luis de la Paz y Dolores Hidalgo; al oeste con Dolores Hidalgo y Salamanca; al sur con Juventino Rosas y Comonfort; al sureste con Apaseo el Grande, y al noroeste con San José Iturbide.

Los cerros con mayor altura son La Silleta, Prieto, La Piena y La Campana. Se localizan dos regiones naturales: la correspondiente a las sierras volcánicas y cuencas lacustres del sur y, la segunda, la del Bajío guanajuatense.