The closest airports to San Miguel de Allende are in Leon and Querétaro, but flying into Mexico City is usually the cheapest option.