Flight
Mexico has tons of airports, however, Queretaro is the most convenient and is only a one hour car ride to San Miguel de Allende. The second closest option is Guanajuato International Airport (BJX), and it's only a two hour car ride to San Miguel de Allende. Mexico City International Airport Benito Juárez (MEX) will offer the widest options of routes. However, if not connecting, it's a four hour car ride to San Miguel de Allende. For whatever airport you choose, you can book a shuttle, with the time and day of your arrival, with a licensed driver who can drop you off at the town. We do not recommend to rent a car for the days of your staying. As the town is very small, find a place to park will be difficult and/or expensive.
Rental Car
Rental Car