How to Get from Mexico City to Oaxaca
Travelling from Mexico City to Oaxaca is an exciting journey, whether you're drawn by Oaxaca’s vibrant culture, delicious food, or stunning scenery. The two cities are around 460 km (286 miles) apart, and there are multiple ways to travel between them depending on your time, budget, and preference for comfort. Below, we’ll cover the most common options:
By bus
By plane
By car
By rideshare
During our five-week trip, we moved around a lot and made this journey three times, twice by bus and once by plane, with no issues.
As a general rule, the earlier you book, the better your rates will be, and you can get some very cheap plane tickets if you’re lucky.
We suggest taking the bus as the route is very scenic, but if you have a tight schedule, book early and fly to make the most of your time in Oaxaca.
By Bus: The Popular Budget Option
Taking a bus from Mexico City to Oaxaca is one of the most popular ways to travel between these two destinations, offering a balance of affordability and comfort.
Bus Companies: The most reliable and popular company is ADO (Autobuses de Oriente), which offers several classes: ADO, ADO GL (more comfortable), and ADO Platino (premium). All ADO buses have comfortable reclining seats, air conditioning, and bathrooms. We recommend just sticking to ADO GL and Platino if you can, as they are very reliable and comfortable.
Departure and Arrival: Buses leave from different terminals in Mexico City, primarily TAPO (Terminal de Autobuses de Pasajeros de Oriente). The main bus terminal in Oaxaca City is Oaxaca Central de Autobuses.
Journey Time: The bus ride takes 6 to 7 hours, depending on traffic and road conditions.
Pricing: Prices range from $600 to $1,200 MXN (about £25 to £50 GBP) depending on the class of service and how early you book your ticket. ADO often offers discounts if you book well in advance, and they have a user-friendly website and app for booking.
ADO bus classes
All buses (Standard) have:
Cushioned reclining seats
Air conditioning
Onboard TV screens
Bathrooms
Charging ports
Decent legroom
ADO GL: There is more space, individual TV screens to which you can connect your Bluetooth headphones, and a better snack selection. The layout is 2- 2 seats.
ADO Platino: There is more space, almost full reclining seats, a privacy screen, footrests, Wi-Fi (which was very slow), and a complimentary soft drink/ snack. The layout is 1- 2 seats.
The average price of a bus ticket for each class from Mexico City to Oaxaca:
ADO Standard: MXN 700 - 800 (£30 - £35)
ADO GL: MXN 900 - 1,000 (£38 - £42)
ADO Platino: MXN 1,200 - 1,400 (£50 - £60)
Book your bus tickets using our 12Go affiliate link or the form below.
By Plane: The Quickest Option
Flying is by far the fastest way to get from Mexico City to Oaxaca and is ideal for those short on time.
Airlines: Several airlines operate direct flights between Mexico City International Airport (MEX) and Oaxaca Xoxocotlán International Airport (OAX), including:
Volaris
Aeroméxico
Viva Aerobus
Aeromar.
Flight Duration: The flight takes just 1 hour.
Pricing: Ticket prices vary depending on when you book. They can range from $800 to $3,000 MXN (about £30 to £120 GBP), with budget airlines like Viva Aerobus offering lower prices if booked early. Keep in mind that the cheapest tickets may not include checked luggage.
Airport Transfers: The airports in both Mexico City and Oaxaca are conveniently located. In Oaxaca, you can take a taxi or a shared van to the city centre for around $100 to $150 MXN (£4 to £6 GBP).
During our trip, we flew with Volaris, Aeroméxico and Viva Aerobus and didn’t have any issues at all. They operate the same as budget airlines in Europe.
By Car: A Scenic Road Trip
If you love road trips and flexibility, driving from Mexico City to Oaxaca can be an amazing experience. You’ll have the freedom to explore small towns and scenic spots along the way.
Distance and Route: The drive is about 460 km (286 miles) via Highway 150D and 135D. These are toll roads that are well-maintained and safe.
Journey Time: The drive takes around 5 to 6 hours without stops, but it could take longer if you decide to explore on the way.
Car Rental Cost: Renting a car in Mexico City will cost around $800 to $1,500 MXN per day (£30 to £60 GBP), plus the cost of fuel and tolls (around $600 MXN in tolls one way). Remember to get full insurance coverage for peace of mind (this is also a legal requirement).
Fuel Cost: The cost of fuel for the trip will be approximately $1,000 to $1,200 MXN (£4 to £6 GBP), depending on your vehicle.
We will soon publish a detailed guide on renting a car in Mexico, so stay tuned for updates.
By Rideshare: The Social Option
Another alternative is using a rideshare service, such as BlaBlaCar, which connects drivers who have extra seats with passengers looking to share a ride.
Cost: Rideshare prices are usually around $400 to $600 MXN (£15 to £25 GBP) per person, making it cheaper than a flight and often faster than a bus.
Booking: You can book through the BlaBlaCar app or website, where you’ll see reviews of the drivers and can choose someone you feel comfortable travelling with.
Journey Time: It usually takes around 5 to 6 hours, depending on the driver's speed and stops.
Which Option Is Best for You?
Budget Travelers: The bus is a fantastic choice, with reasonable prices, frequent departures, and decent comfort.
Short on Time: A flight is your best bet, getting you from Mexico City to Oaxaca in around an hour.
Looking for Adventure: Driving is perfect if you want to explore along the way, but be prepared for tolls and the cost of renting a car.
Social Traveler’s: If you enjoy meeting new people and want to keep costs low, a rideshare could be a fun way to make the journey.
No matter which option you choose, the journey from Mexico City to Oaxaca is sure to be an exciting part of your Mexican adventure. Oaxaca is a beautiful city filled with rich history, mouth-watering cuisine, and cultural experiences that are well worth the trip.
Have you taken any of these routes before? Let us know your experiences in the comments!
Our guide to the chilled out beach town of Mazunte in Oaxaca, Mexico