There are two main ways to go from Mexico City to Oaxaca on public transport:
Flight:
Bus:
Taking the bus from Mexico City to Oaxaca is a popular choice amongst travellers in Mexico. It is budget friendly, costing around $10 each way, and the drive between Mexico City and Oaxaca is a scenic one.
One of the most popular bus companies for tourists is ADO, which runs regularly between Mexico City and Oaxaca.
The fastest way from Mexico City to Oaxaca is by flight. The average direct flight time is 65 minutes (1 hour and 5 minutes). There are lots of flights to choose from with a flight leaving around every 2 hours from 7AM to 9PM.
The most popular airlines for tourists are Aeromexico, VivaMexico and Volaris. All are reputable with VivaMexico and Volaris often the cheapest.
Usually, flight or bus. The true best way depends on time and budget. The bus is cheaper so will be the best way if finances are the main concern. The flight is much quicker so it will be the best way if maximising time.
No. There is no longer a train service connecting Mexico City to Oaxaca. All of Mexico’s passenger trains stopped running in the 2000s. Flight or bus is now the most common way to travel between the two destinations.
Mexico City is 289 miles or 465km from Oaxaca. It takes 9 hours on bus or a 1 hour flight.
A direct flight will take roughly one hour to one hour 30 to get from Mexico City to Oaxaca.
Tell us where you’re leaving from, where you’re going to and your departure date
Wanderwise searches the safest public transport options for your trip
Wanderwise returns the information for you to book your perfect journey