The nearest airport is Guanajuato International Airport (BJX), with domestic flights from Mexico City, Monterrey and Tijuana, and international flights from Houston, Dallas, and Los Angeles, in the United States.
From the Mexico City airport connections are available to Guanajuato airport. Guanajuato can also be reached by bus on either ETN or Primera Plus.
You can reach Guanajuato by bus from Mexico City by departing from the Northern Bus Terminal. The "Primera Plus" or "ETN" line are recommended. Departures start at 7:30 AM and continue approximately every 90 minutes until 9:15 PM. The trip takes 5 hrs. and costs between $ 500.00 and $ 750.00MXP.
Primera Plus: https://www.primeraplus.com.mx/