Oaxaca City is about 460–490 km southeast of Mexico City. The fastest way is a 1-hour flight from Mexico City (MEX) on Aeroméxico, Volaris or Viva Aerobus, often for about 800–2,500 pesos (US$43–135) one way. The most popular way is the ADO bus from the TAPO terminal, which takes 6–7½ hours and costs about 450–1,200 pesos (US$24–65), depending on the class. Driving takes about 5½–7 hours on toll highways via Puebla. There is no passenger train between the two cities.
Mexico City to Oaxaca: quick comparison
| Option | Time | Price one way | Best for |
|---|---|---|---|
| Flight (MEX to OAX) | About 1h–1h15 in the air; 4–5 hours door to door | About 800–2,500 MXN (US$43–135) | Short trips, saving a day |
| ADO Platino bus | 6–7½ hours | About 800–1,200 MXN (US$43–65) | Comfort: wide seats, fewer passengers |
| ADO GL bus | 6–7½ hours | About 600–900 MXN (US$32–48) | Best value for most travelers |
| ADO standard bus | 6½–7½ hours | About 450–700 MXN (US$24–38) | Tightest budgets |
| Shared shuttle van | 6–7 hours | About 600–900 MXN per person | Hotel pick-up in Roma or Condesa |
| Rental car | 5½–7 hours | Rental, fuel and about 500–700 MXN in tolls | Stops in Puebla and the Oaxaca valleys |
👉 Compare Mexico City to Oaxaca buses and flights on Bookaway
What is the best way to travel from Mexico City to Oaxaca?
It depends on your time and budget. If you have a week or less, fly: it saves most of a day, and fares on the low-cost airlines are often close to a first-class bus ticket. If you have more time or want to save money, take an ADO GL or Platino bus by day and enjoy the mountain scenery after Puebla. The overnight bus saves a night of accommodation, but it arrives in Oaxaca very early in the morning. Driving only makes sense if you will use the car in Oaxaca, for example to visit Hierve el Agua, Mitla or the mezcal villages.
How to get from Mexico City to Oaxaca by bus
Most buses to Oaxaca leave from TAPO, the eastern bus terminal (Terminal de Autobuses de Pasajeros de Oriente), next to San Lázaro metro station; some leave from Terminal Norte. ADO runs three classes:
- ADO Platino: the most comfortable, with wide reclining seats in a 2+1 layout and personal screens. About 800–1,200 pesos.
- ADO GL: a step down in price, still comfortable, with reclining seats and onboard toilets. About 600–900 pesos.
- ADO standard: the cheapest first-class buses. About 450–700 pesos.
Buses leave throughout the day, typically from early morning to early afternoon, plus several overnight departures between about 9 pm and midnight that arrive around 3:30–6:30 am. The trip takes 6–7½ hours. Buy tickets on the ADO website or app; prices are lower when you book a few days ahead. Arrive 30 minutes early, keep valuables with you, and bring a sweater, because the air-conditioning is strong.
In Oaxaca, first-class buses arrive at the ADO station on Calzada Niños Héroes de Chapultepec, about 1 km north of the Zócalo: a 15-minute walk or a short taxi ride to most hotels in the centre.
Can I fly from Mexico City to Oaxaca?
Yes. Aeroméxico, Volaris and Viva Aerobus fly from Mexico City to Oaxaca (OAX) several times a day. Typical one-way fares are about 800–1,500 pesos on Viva Aerobus, 900–1,800 pesos on Volaris and 1,200–2,500 pesos on Aeroméxico. Low-cost fares usually include only a small carry-on, so add checked baggage when you book. Check which Mexico City airport your flight uses: most leave from Benito Juárez International (MEX), but some cheap fares depart from Felipe Ángeles (AIFA), which is far north of the city.
How long is the flight from Mexico City to Oaxaca?
About 1h–1h15 in the air. Door to door, including getting to the airport, security and the transfer into Oaxaca, allow 4–5 hours. That still beats the bus by 2–3 hours.
How do you get from Oaxaca airport to the city centre?
Oaxaca airport is about 9 km south of the centre. Buy a ticket at the authorized transport counter in arrivals: a shared van (colectivo) to your hotel costs roughly 80–135 pesos per person, and a private taxi costs a few hundred pesos per vehicle. The ride takes about 20–25 minutes. Uber does not operate at Oaxaca airport.

Is there a train between Mexico City and Oaxaca?
No. There is no passenger train between Mexico City and Oaxaca. Mexico’s new passenger trains, such as the Tren Maya, do not serve this route, so your choices are bus, plane or car.
Driving from Mexico City to Oaxaca
The fastest route follows the toll highways (autopistas) via Puebla and Tehuacán to Oaxaca. It is about 460–490 km, takes about 5½–7 hours, and tolls total roughly 500–700 pesos each way. The toll roads are well maintained, but the last part crosses the mountains. Drive in daylight, carry cash for the toll booths, and fill up before the mountain section. Puebla is a good place to break the trip.
Is it safe to travel to Oaxaca right now?
Oaxaca City is one of Mexico’s most visited destinations, and the historic centre is walkable and generally comfortable for visitors during the day and evening. Use normal precautions: watch your belongings in markets and crowds, use authorized taxis, and avoid driving after dark. The main practical issue is bloqueos, road blockades by protesters that can delay buses and traffic for hours, especially on the routes in and out of the city. Check local news and your government’s current travel advice before you go.
How do I get from Oaxaca to Mexico City?
The same ways in reverse. ADO buses leave the station on Calzada Niños Héroes de Chapultepec for TAPO and Terminal Norte throughout the day and night, and flights leave Oaxaca airport several times a day. If you have an international flight from Mexico City, fly from Oaxaca the same morning or travel the day before, because bloqueos can delay buses.
Is Oaxaca worth the trip from Mexico City?
Yes. Oaxaca is known for its colonial centre around the Templo de Santo Domingo, its food (mole, tlayudas and mezcal), its markets and crafts, and nearby sites such as the Zapotec city of Monte Albán, Mitla and the mineral springs of Hierve el Agua. Plan at least three or four days; a week lets you add day trips into the valleys. Costs are noticeably lower than in Mexico City or on the Caribbean coast, as explained in how much a trip to Mexico costs.

👉 Compare hotels in Oaxaca on Booking.com
Heading to the Caribbean coast later? See Cancun to Tulum and more guides in our Mexico travel section.
FAQ
How far is Oaxaca from Mexico City?
About 460–490 km by road, or roughly 6–7½ hours by bus and about 1 hour by plane.
Which bus terminal in Mexico City has buses to Oaxaca?
Mainly TAPO, the eastern terminal next to San Lázaro metro. Some buses also leave from Terminal Norte.
Is the overnight bus to Oaxaca a good idea?
It saves a night’s accommodation, but you arrive around 3:30–6:30 am, before most hotels allow check-in. A morning bus or a flight is more comfortable.
Is it cheaper to fly or take the bus to Oaxaca?
The bus is usually cheaper, but promo fares on Viva Aerobus and Volaris can cost about the same as an ADO Platino ticket once you add a bag.
How many days do you need in Oaxaca?
Three to four days for the city and Monte Albán; five to seven days to add Hierve el Agua, Mitla and the valley villages.
Prices and schedules checked on November 10, 2026.