How to get from Mexico City to Oaxaca
Leaving from...
Going to...
Loading route:
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!
What are the 3 ways to travel from Mexico City to Oaxaca?
There are 3 ways to travel the 462 kilometre (287 miles) distance from Mexico City to Oaxaca. You can choose between the bus, private transport and flight. The journey takes 2 hours 15 minutes to 8 hours 25 minutes and the quickest way is by flight. If you're on a budget, the cheapest option is by bus with tickets starting at 705 MXN ($39.50).
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.
Mexico City to Oaxaca by Bus
There are many direct buses operating from Mexico City to Oaxaca. The journey takes 6 hours 30 minutes to 8 hours 25 minutes. 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.70).
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 ($36.50). The bus trip takes around 6h 5m - 8h.
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
Your arrival terminal will depend on which bus company you’re travelling with.
- 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.
It’s best to pick a bus that stops near your hotel. From the bus terminals we mention above, you can either walk to your accommodation or take a taxi. Fares start from 50 MXN ($2.80).
Mexico City to Oaxaca by Flight
Flying from Mexico City to Oaxaca is pretty straightforward since both airports are close to the city centre. Plus, if you book in advance, you might find a flight ticket that’s only a few dollars more expensive than the much slower bus.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
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.20). But if you want to book in advance, a 3-seater private transfer costs 640 MXN ($36) 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.70) to Zone 1 and 190 MXN ($10.70) 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 ($26), 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.40). 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.
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 6 hours to 6 hours 30 minutes, and you’ll be dropped off right at your accommodation — no need to worry about extra transfers.
Prices for private transfer start at 8,000 MXN ($445) for a 3-seater. Split it with your group, and it’s about 2,660 MXN ($150) each.
Private Transport options from Mexico City to Oaxaca
Best places to stay in Oaxaca
Ayook - Treating Yourself
Located within the stunning historic centre, Ayook is housed within the remnants of an 18th century house, but with a modern twist. It’s interior boasts a warm and cosy feel, thanks to the impressive wooden features and perfectly placed lighting. After just a glimpse at the hotel’s pictures, you’re guaranteed to want to stay here! You’ll feel like you’re staying in the height of luxury, without paying the price for it. The granduer continues with the à la carte breakfast served every morning. The beds are huge, with memory foam pillows, perfect for starfishing all night long.
- Delicious à la carte breakfast
- Traditional Oaxacan-style interior
- Great location
- Private patio with every room
Double rooms start from $80 per night
La Casa Carlota - Treating Yourself
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
Azul Cielo Hostel - Mid Range
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
Casa EL Mundo - Budget Friendly
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 about Mexico City to Oaxaca
What is the best way to get from Mexico City to Oaxaca?
Oaxaca is a popular next destination after visiting the capital Mexico City. The best way to cross this distance is by bus for 7.5 hours. Prices start from 705 MXN ($39.50). The alternative (and less sustainable option) is to take a 2-hour flight (including transfers) with fares from 820 MXN ($46).
If you don’t mind the long drive, you can also rent a car from Mexico City to Oaxaca. This way, you make can make several stops along the way. Some destinations you can explore are Zocalo de Puebla and Floating Gardens of Xochimilco. Although, it’s best to not bring a car when you’re travelling for the Guelaguetza Festival (more info below). You’ll just have a hard time finding a parking space and navigating through traffic.
Why visit Oaxaca?
If you’re looking for vibrant colours, rich history, breathtaking architecture, and hospitable & fun residents all rolled in one town, then Oaxaca should be in your Mexico itinerary.
Do you love dance and music? Visit in late July (the last 2 Mondays, in particular) and join the lively Guelaguetza Festival — a celebration of Oaxaca’s diverse culture, traditions and way of life.
For the best experience, check out our page on the 17 Things to do in Oaxaca City for more information.
When is the best time to go to Oaxaca?
The best time for travellers to visit Oaxaca is during the dry season from October to April. The days are sunny (around 28°C) and the nights are cold (around 10ºC).
From May to September is the wet season. To be clear, that doesn’t mean strong thunderstorms. You can still go about your day, just expect a window of rain showers in the late afternoons.
Was this post helpful?
Click on a star to rate it!
Average rating 5 / 5. Vote count: 2
No votes so far! Be the first to rate this post.
We are sorry that this post didn't meet your expectations.
Your feedback is very valueable to us
What was missing in this post? (TIP: If you want us to reply to your feedback, you can leave your email in this text box.)
Based in Bali, Maarten’s passion for travel is undeniable. In 2016, he decided to quit his job as a stock analyst and started doing what he always dreamed of: travelling through South East Asia and helping other people plan their trips. When he is not working on Gecko Routes, you’ll find him surfing in the ocean or exploring the best gems of Indonesia.
Selene is a writer who loves coffee, travel, and planning. After spending a decade in Manila, she left the city and her career in banking to embrace a more laid-back lifestyle. Now, she is discovering the beauty of slow-paced travel and finding joy in meaningful experiences.
Ela is a storyteller, content producer, solo traveller and a mermaid-in-training. When she’s not in front of her laptop, you will find her barefoot and living her best tan on some island in the Philippines… Or exploring the depths of its seas as a budding freediver. An island girl at heart, she’ll be happy anywhere there is sea, sand, sun and coffee.


