The central location of Mexico City and the cultural and culinary richness of Oaxaca often lead both cities to be included in the same itineraries.
However, given they’re quite far apart, you may wonder how best to travel between Mexico City and Oaxaca. Let me break down the options for you so you can have a hassle-free journey.


Traveling from Mexico City to Oaxaca City
Mexico City is located in the central region of Mexico, while Oaxaca is situated in the southern part of the country. It’s not the longest trip, but it’s also not the shortest, with Oaxaca being around 300 miles (480 kilometers) from Mexico City.
In a nutshell, the three most popular modes of transportation are:
Coach Bus
The most affordable and popular option, but will take you the longest amount of time. Book tickets online with Bus Bus or directly with ADO, the biggest coach bus company in Mexico.
Buses are running from Mexico City to Oaxaca City all day long starting at about 5 AM, with about 3 to 4 departures every hour. They cost anywhere from $20-$60 depending on the speed of the bus as well as the amenities offered. I recommend taking a first-class bus, which may cost slightly more but the buses are much more comfortable and there are no stops along the way.
The bus will take you directly to the heart of Oaxaca City, dropping you off at the main bus terminal, which is just a short walk north of the old center. Catch a taxi or walk to your destination.
Travel Time: approx. 7 – 8 hours
Plane
The quickest and most comfortable option but it will cost the most money. The airports in CDMX and Oaxaca are easy to reach. See all flight options between Mexico City and Oaxaca.
Travel Time: 1-hour flight (plus at least approx. 2 hours airport transit time)
Car
The most flexible option with the ability to explore independently. If you don’t have your own vehicle, check car rental options in Mexico City. This is advisable mainly if you plan to return to Mexico City, since dropping off your rental car in Oaxaca can incur additional fees. However, this could still be worth it if you wish to self-drive and visit other sights in Oaxaca State along the way.
Travel Time: variable, but as little as 6 hours (not counting pickup time)
Those are the basics, now let’s dive into these options a little deeper...
Mexico City to Oaxaca City by plane

Multiple airlines offer daily flights between Mexico City and Oaxaca, including Volaris, VivaAerobus, and Aeroméxico. The cost can vary depending on the time of year and how far in advance you book. Tickets can sometimes be as low as $15 (one way) with just a carry-on. If you can snag this deal, I don’t think you need to read the rest of this guide!
Prices can also get well into the $100 – $200 range, but on average, a flight from Mexico City to Oaxaca City should run about $50 one way. If you are traveling with a lot of luggage, keep in mind that checked baggage will cost extra.
There are two different airports in Mexico City:
- Benito Juárez International Airport (MEX) is the most popular, but…
- Felipe Ángeles International Airport (NLU) also services some flights
Both airports are located within the city and are easily reachable by public transportation or taxi.
Oaxaca City has one airport, Xoxocotlán International Airport (OAX). It’s located about 5 miles (8 kilometers) from the city center and is easily accessible by public transportation or taxi.
Normally I wouldn’t fly on such a short route, but given the many low-cost carriers and the airport being only 30 minutes from downtown, it can actually be a convenient way to get to Oaxaca City.
Mexico City to Oaxaca City by car

The drive takes approximately six-to-seven hours depending on traffic and stops along the way.
There are two main routes you can take:
- The toll road (Autopista or Cuoto). Faster and safer, but expect to pay around $30 in toll fees one way. Most tourists will probably take this road.
- Free highway (Carretera Libre). Free, but a bit slower and less well-maintained. It offers great views of the Mexican countryside, but watch out for the potholes!
While buses or flights make much more sense for a point-to-point trip, you may want to consider renting a car if you’re with a group wanting to take a road trip through Mexico. Although beyond my typical travel budget,another option is to book a private transfer from Mexico City to Oaxaca with optional sightseeing along the way.
Is it safe?
While some parts of Mexico can be dangerous, this particular region is generally considered safe to drive through. However, it is still advisable to use the toll roads, which are well-patrolled and well-kept, and to drive during the day. When driving the local roads in Oaxaca and Puebla states, occasional potholes and poorly marked speed bumps are the biggest dangers to be aware of.
Stops along the way
The charming city of Puebla is a popular stop between Mexico City and Oaxaca, full of beautiful architecture, delicious food, and a rich history. You can easily spend a few hours here exploring before continuing your journey to Oaxaca City. You’ll also pass through scenic mountain roads and small towns along the way.

If you want to go off the beaten path, consider stopping by the Tehuacán-Cuicatlán Biosphere Reserve, a stunning cacti-filled landscape that was made a UNESCO World Heritage Site as recently as 2018. You can read more about it on this blog. It’s not yet so much on the tourist map, but if you’re driving via Tehuacán you can easily check it out.
Beyond Oaxaca City, you can also easily reach the beautiful Oaxacan Coast. A brand new highway was actually inaugurated in 2024 that significantly cut the journey time from Oaxaca City to Puerto Escondido to only 3 hours. For more details, check my guide on how to travel from Oaxaca to Puerto Escondido.
How to rent a car
Renting a car in Mexico City is fairly easy. You’ll just need a valid driver’s license and credit card. However, if you are planning on picking up the car in Mexico City and dropping it off in Oaxaca City, be prepared for exorbitant drop-off fees. A $35 dollar-a-day car can quickly jump to a $450 rental when you factor in the drop-off fee. It may be worth considering a round-trip rental to save some money.
You can check car rentals in Mexico City via Discover Cars, which aggregates all rental options from both international brand names and local rental companies.
Mexico City to Oaxaca City by bus

The slowest but cheapest option is by bus. The journey takes around seven to eight hours, depending on the route and number of stops. However, the buses in Mexico are comfortable and offer amenities such as air conditioning, restrooms, and sometimes even Wi-Fi. (Sometimes, the aircon can be way too much, so bring a jacket!)
The main bus terminals in Mexico City that service Oaxaca City are Terminal Santa Martha Acatitla and Terminal de Autobuses de Pasajeros de Oriente (TAPO), which provide buses to the eastern and southern parts of Mexico.
Getting to the bus stations in Mexico City is easy. TAPO is closer to the city center and can be reached via metro line 1, while Terminal Santa Martha Acatitla is located in the eastern part of Mexico City.
Buying your bus tickets
There are several bus companies that offer direct routes from Mexico City to Oaxaca City, including ADO, OCC, and Estrella de Oro. You can purchase tickets online or at the bus station, though personally I usually buy my tickets through Busbud, which specializes in transport in Latin America.
If you want to buy your ticket in person, you can show up at either of these bus terminals and check the schedules. They’ll put you on the next available one, it could be in five minutes, or it could be an hour or so, depending on the time of day and demand. It’s also possible to buy tickets for later journeys at the bus terminal.
Where to text?
For more ideas on where to travel in Mexico, don’t miss my Mexico itineraries. I also have lots of tips for Oaxaca City here and suggestions for where to stay on the Oaxacan coast.