
How to Get From Mexico City to Oaxaca
Bus · Flight · Private Transport
In this in-depth route guide, you'll find the best ways to travel the 462 kilometre (287 miles) distance from Mexico City to Oaxaca. By the end of this guide, you'll know exactly how to get there — whether you want to travel on a budget, reach Oaxaca as fast as possible, or enjoy the ride in comfort. We base our information on verified schedules, ticket prices, and on-the-ground insights from recent travellers.
What are the 3 ways to travel from Mexico City to Oaxaca?
There are three ways to travel the 462 km distance from Mexico City to Oaxaca. You can choose between the bus, flight, and private.
The journey takes between 2h 15m–6h 30m and the quickest way is by flight (2h 15m). If you're on a budget, the cheapest option is by bus with tickets starting at 705 MXN ($41).
6h 30m - 8h 25m
705 MXN ($41)
2h 15m
1,030 MXN ($59)
6h - 6h 30m
7,800 MXN ($445)
Where to stay in Oaxaca?
Still looking for accommodation? Don't forget to check out our favourite places to stay in Oaxaca at the bottom of this page.
Already in Oaxaca?
Onward from Oaxaca
Once you're in Oaxaca, here's where to next — 4 researched onward routes to pick from.
Mexico City to Oaxaca by Bus
There are many direct buses operating from Mexico City to Oaxaca. The journey takes 6h 30m - 8h 25m. Quite long, but it’s a scenic route so you can think of it as a road trip.
You can also save a night on accommodation if you take an overnight bus.
Step 1: Getting to the bus station in Mexico City
Buses depart from different locations, but the most popular and most convenient is Terminal de Autobuses de Oriente TAPO, Mexico City's main bus station. TAPO is about 6 km from the city centre.
You can get to TAPO by:
- Metrobus for 6 MXN ($0.30)
- Metro for 5 MXN ($0.30)
If you're unsure about the difference, here’s a quick breakdown:
- The Metrobus is a large bus with its own designated lane and set stops. Because of this, it’s often faster than regular buses.
- The Metro is an underground train and a good choice if you're travelling light.
To reach Mexico Terminal TAPO from the city centre, you can take either Metrobus Line #4 or Metro Line #1. The journey will take around 20 minutes and you should get off at San Lazaro Station. From there, it’s just a 2-minute walk to TAPO Bus Station.
But if you travel at night or carry heavy luggage, you can take an Uber. The ride takes about 15-20 minutes, with fares starting at 120 MXN ($6.90).
Step 2: Mexico City to Oaxaca
The main bus operator on the Mexico City to Oaxaca route is ADO, Mexico’s most popular bus company. They offer a reliable and comfortable service with plenty of legroom.
For this route, ADO operates the following sub-brands:
- AU – the cheapest and most basic option, but no toilet on board.
- ADO – a step up from AU, with one toilet on board.
- ADO Platino – a luxury bus featuring comfortable seats, individual screens, snacks and Wi-Fi. It is also the most expensive.
All ADO buses come with air conditioning and reclining seats. ADO GL and ADO Platino buses offer extra perks like separate toilets for men and women, onboard coffee and charging ports.
Another option is Dolphins Autobuses, which offers competitive rates and the fastest travel time. They don’t get good reviews, though. Their terminal is located in Moctezuma Calle Francisco Espejel, less than 2 kilometres from TAPO.
Ticket prices for a bus from Mexico City to Oaxaca start from 650 MXN ($38). The bus trip takes around 6h 5m - 8h.
Ready to book your bus?
Booking Tip
The bus schedules may vary daily, so it’s best to check online for exact departure times. We recommend booking your tickets online at least a day in advance to secure your preferred seat.
If you’re buying tickets at the station, make sure to transact only with official staff. Sometimes, people at the terminal try to take advantage of tourists.
Step 3: Oaxaca Bus Terminal to the City Centre
- ADO, ADO GL and ADO Platino buses make their final stop at Central de Autobuses de Oaxaca in the city centre.
- AU buses stop at Terminal Periferico, which is about 2.5 km from the city centre.
- If you are travelling via Dolphins Autobuses, their terminal is located in Trinidad de las Huertas in Oaxaca.
Mexico City to Oaxaca by Flight
Step 1: Mexico City Centre to Airport
Your flight departs from Benito Juarez International Airport (MEX), 10 km east of the city centre. The best ways to get there from the city centre are a 45-minute Metrobus and a 30-minute taxi/Uber.
For a combination of budget and convenience, we recommend taking the Metrobus, which only costs 30 MXN ($1.70). Take Line #4. You can ask the assistance of your hotel for the nearest bus stop or you can board one at Republica de Argentina, the closest bus stop to the main square.
If you prefer a private and fast ride, we recommend hailing an Uber with rates from 110 MXN ($6.30). But if you want to book in advance, a 3-seater private transfer costs 640 MXN ($37) on BookAway.
Why we don’t recommend taking the Metro to Mexico City Airport
Although the Metro is the cheapest option at 5 MXN ($0.30), it is not ideal if you have luggage. Large bags are not allowed, and the trains can get extremely crowded, especially during peak hours. Plus, no direct line goes from the city centre to the airport, so you may need to make multiple transfers.
You can check our Mexico City Airport page for a more detailed guide.
Step 2: Mexico City to Oaxaca
Several flights operate from Mexico City to Oaxaca daily between 06:05 and 18:45. Flight time is around 1 hour.
AeroMexico, Viva Aerobus and Volaris all serve this route. AeroMexico is the largest airline, offering great service and around 3-4 daily departures to Oaxaca — but at slightly higher rates. Viva Aerobus and Volaris are cheaper options, though they only have one departure a day.
If you want to save money, book your direct flight in advance, as fares tend to rise closer to the travel date.
Step 3: Oaxaca Airport to the City Centre
Oaxaca International Airport is about 10 km south of the city centre. You have a few options to get to your hotel, but we recommend either a 50-minute colectivo or a 30-minute taxi.
Colectivos are easy to find at the airport and take you straight to your hotel in Oaxaca. The only downside? Travel time depends on how many passengers get dropped off before you. One-way tickets cost 120 MXN ($6.90) to Zone 1 and 190 MXN ($11) to Zone 2, and you can buy them in the airport’s main hall.
If you prefer a faster and more comfortable ride, an airport taxi is a good option. Fares start at 465 MXN ($27), depending on your hotel's location. You’ll need to prepay at the taxi office in the arrivals hall.
Uber and similar apps don’t operate in Oaxaca. Public transport is available, but not the most convenient. You can catch a bus from Simbolo Patrios Station outside the airport for 8 MXN ($0.50). But you'll have to walk to the bus stop, then walk again (or take a taxi) once you reach the city centre — not ideal if you're carrying bulky luggage.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Mexico City to Oaxaca by Private Transport
A private transfer from Mexico City to Oaxaca is the easiest and most convenient option. The journey takes 6h - 6h 30m, and you’ll be dropped off right at your accommodation — no need to worry about extra transfers.
Prices for private transfer start at 7,800 MXN ($445) for a 3-seater. Split it with your group, and it’s about 2,590 MXN ($150) each.
Our favourite places to stay in Oaxaca
Here are our favourite places to stay in Oaxaca for every budget.
Treat YourselfAyook
- Delicious à la carte breakfast
- Traditional Oaxacan-style interior
- Great location
- Private patio with every room
Treat YourselfLa Casa Carlota
Set within a historical colonial building, the La Casa Carlota’s interior and design creates a unique blend of the new and the old. The large roof terrace gives you the chance to sit back and admire the beauty of Oaxaca. From here you can see all of the best sites in Oaxaca as they’re only a few minutes walk from the hotel.
At the heart of the hotel is an open courtyard. The perfect place to enjoy your complimentary breakfast each morning before adventuring through the city. An added bonus, all of the rooms have their own patio, offering you some privacy and a personal place to relax.
- Spacious and modern rooms
- Large roof terrace
- Private patio with every room
- Amazing breakfast included
Double rooms start from $80 per night
Mid-RangeAzul Cielo Hostel
Three words to best describe Azul Cielo are bohemian, cosy and colourful. It’s a social place with plenty of areas to meet other like-minded travellers. You get the best of borth worlds here — a friendly atmosphere and the tranquility of your own private room. Plus there are plenty of places around the hotel to hide yourself away and relax.
Every room is uniquely decorated, boasting their own style and atmosphere. Make sure to pick the one that suits your vibe the most. Once you’ve enjoyed a rejuvenating sleep, you can start your day off with a delicious complimentary breakfast served by the friendly staff.
- Friendly atmosphere
- Great outdoor spaces
- Excellent location
- Great breakfast included
Double rooms between $40-$80 per night
BudgetCasa EL Mundo
Situated only steps away from Downtown Oaxaca, the cathedral and the flea market, you’ll be able to see all of this from Casa El Mundo’s rooftop terrace. The Mezcal they serve at the rooftop bar is to-die-for, and if you can’t get enough, they even do a Mezcal tour.
The hosts welcome you like one of the family, offering tips on all of the best places to visit in Oaxaca. Every corner of the hotel is clean and bursting with colour no matter where you look. This is an unforgettable place to stay.
- Rooftop terrace
- Mezcal tour
- Friendly hosts
- Bright and colourful rooms
Double rooms between $15-$40 per night
Rounding it up
We hope this guide was helpful in planning how to get from Mexico City to Oaxaca. If there's anything else you're wondering about, drop us a comment and we'll do our best to answer you within a few days.
PS: If you've recently travelled this route, share your experience with fellow travellers and help us improve this post. Thanks for helping out our travel community!
Frequently Asked Questions
The distance from Mexico City to Oaxaca is 462 km.
ABOUT YOUR DESTINATION
Why Visit Oaxaca?
Oaxaca (pronounced wah-haak-kah) is a city filled with colourful colonial streets, architecturally-beautiful churches, communal squares, archaeological sites, and welcoming people. It's also famous for its stunning embroidery and textile crafts. And those are only a few of the reasons why it has landed itself on the UNESCO world heritage list.
Also called Oaxaca de Juárez, the city is well-known for its exciting food scene, offering several dishes that are unique to just the Oaxaca region. A tip when visiting Oaxaca: eat your heart out! One dish you can’t leave without trying is the stew-like Mole, best paired with the popular Mezcal — a strong upgrade from Tequila!
How We Research
Every route on Gecko Routes is independently researched and regularly verified.
500+
ROUTES RESEARCHED
Every route is personally travelled and documented by our team, covering Southeast Asia's most popular and off-the-beaten-path connections.
Monthly
UPDATES
Routes are reviewed on a regular cycle to catch schedule changes, new operators, and price updates. Every guide shows when it was last verified.
Verified
BY TRAVELLERS
Tips and corrections from our community of travellers help keep routes accurate between team visits. Your experience makes this guide better for everyone.
Affiliate Disclosure
Some links on this page are affiliate links. If you book through them, we earn a small commission at no extra cost to you. This helps us keep Gecko Routes free and up to date.







Reader Comments
No comments yet — be the first to share your experience!
Leave a Comment