
How to Get From Oaxaca to San Cristobal de las Casas
Travel the 597 kilometre (371 miles) distance from Oaxaca to San Cristobal de las Casas with the best transport options available. We'll guide you through the duration, cost, and comfort of each option — and show you where to book your tickets.
How to get from Oaxaca to San Cristobal De Las Casas?
The bus is the only suitable way for travellers to travel the 597 km distance from Oaxaca to San Cristobal de las Casas. The journey takes around 9h 15m, and ticket prices start from 1,140 MXN ($66).
9h 15m - 11h
1,140 MXN ($66)
Oaxaca to San Cristobal de las Casas by Bus
The bus journey from Oaxaca to San Cristobal De Las Casas is quite long, but since all buses operate overnight, you won’t waste a day on travel. Plus, you’ll save money on one night of accommodation.
A good tip for bus travel in Mexico is to wear warm clothes! The air conditioning is usually on full blast, and it can get pretty chilly.
Step 1: Oaxaca City Centre to Bus Station
Buses to San Cristobal depart every evening from ADO Bus Terminal in Oaxaca City (also called Oaxaca de Juárez). You can get there on foot if your accommodation is nearby.
But if you’d rather not carry your bags around, a short taxi ride from the tourist area takes about 10 minutes and costs around 50 MXN ($2.90).
Step 2: Oaxaca to San Cristóbal de las Casas by Bus
There are three bus operators running from Oaxaca to San Cristobal De Las Casas every night: OCC, ADO and ADO GL.
- OCC – A sub-brand of ADO offering standard first-class buses with air conditioning, reclining seats and a toilet.
- ADO – Similar to OCC, provides first-class service with air conditioning, reclining seats and a toilet.
- ADO GL – A more premium option with extra legroom, USB ports, Wi-Fi and separate toilets for men and women.
Since it's a long journey that takes 8h 55m - 10h 30m, we recommend ADO GL for a smoother ride. The extra legroom can make a big difference in your comfort on overnight trips.
Bus ticket prices start at 1,040 MXN ($61).
Ready to book your bus?
Booking Tip
To secure a seat on your preferred date and time, it's best to book your tickets online in advance through BookAway.
If you’d rather buy them at the terminal, arrive at least 30 minutes before departure. If tickets are sold out, you’ll have to wait for the next bus.
Step 3: San Cristóbal de las Casas Bus Station to the City Centre
The bus will drop you off at Terminal San Cristóbal de las Casas. This station is near the city centre and it takes only 10 minutes to walk to the main square.
If your accommodation is further away or you’d rather not walk, there are taxis available outside the bus terminal. Rates start from 40 MXN ($2.30).
Rounding it up
We hope this guide was helpful in planning how to get from Oaxaca to San Cristobal De Las Casas. 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 Oaxaca to San Cristobal De Las Casas is 597 km.
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!