How to get from Oaxaca to San Cristobal de las Casas
Leaving from...
Going to...
Loading route:
Why visit San Cristobal de las Casas?
San Cristobal de las Casas is Mexico’s magic town — a nickname it gained for its vibrant bohemian vibe. Its well-preserved, colourful colonial houses give you the feeling of stepping back in time. There’s also a remarkable cultural and artisan scene that’s worth discovering.
Check out the artisan market for some of the most exquisite handmade textile and jewellery and the municipal market for unique flavours. Finish your days in one of the many bars and restaurants that line almost every street. One not-to-miss restaurant in San Cristobal de las Casas is La Vina de Bacco where you can get wine for under $1 plus free tapas!
How to get from Oaxaca to San Cristobal de las Casas?
The bus is the only suitable way for travellers to cross the distance of 597 kilometre (371 miles) from Oaxaca to San Cristobal de las Casas. The journey takes around 9 hours 15 minutes to 11 hours, and ticket prices start from 1,170 MXN ($66).
Where to stay in San Cristobal de las Casas?
Still looking for accommodation? Don't forget to check out our favourite places to stay in San Cristobal de las Casas at the bottom of this page.
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.80).
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,080 MXN ($61).
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.20).
Best places to stay in San Cristobal de las Casas
Hotel Bo - Treating Yourself
Many people say that Hotel Bo is ‘one of the best places they have ever stayed in’. You’re certainly treating yourself if you decide to stay here. Alongside the stunning flower-filled gardens ideal for relaxing in, there are modern and cosy rooms, a gym and onsite restaurant.
The hotel’s restaurant treats guests to upmarket Mexican cuisine and international dishes in an beautifully-designed environment. Their exceptional breakfast is the perfect way to set you up for a day of exploring San Cristobal. Trust us, you won’t want to leave once you arrive at Hotel Bo.
- Stunning and relaxing garden
- Exceptional restaurant
- Onsite gym
- Large and modern rooms
Double rooms start from $80 per night
Casa Lum - Treating Yourself
You couldn’t be more at the heart of San Cristobal than at Casa Lum. The popular walking street filled with restaurants and bars are literally on your doorstep.
Contemporary style and colonial architecture coexist in harmony at Casa Lum. This is clearly exhibited throughout it’s 8 rooms and delicious restaurant. Another thing we love about this place, they’re also a social and environmentally sustainable hotel.
- Onsite, highly rated restaurant
- Excellent location
- Socially and environmentally responsible ethos
- A intricately designed city oasis
Double rooms start from $80 per night
Sereno Art Hotel - Mid Range
This 4 star hotel really does feel like it was designed by artists, with it’s spectacular wall art and intricate details. The decor is an interesting blend of urban and rustic pieces.
The courtyard is truly stunning, with fairy lights creating the appearance of a starry night sky. Another star of the hotel is it’s restaurant. Their food can’t be raved about enough!
- Delicious food served in their onsite restaurant
- Creative and stunning decor
- Great location
- Cosy and large rooms
Double rooms between $40-$80 per night
Posada del Abuelito - Budget Friendly
Posada del Abuelito is a friendly and colourful hostel situated inside one of San Cristobal’s stunning colonial buildings. The heart of the hostel is the perfect place to chill, surrounded by plants and hammocks.
Their delicious complimentary breakfast sets you up perfectly for a day of exploring the city. The communal kitchen also means you can dabble in a bit of cooking yourself. The best part? The hosts do an excellent job of making everyone feel at home.
- Homely atmosphere
- Great location
- Delicious breakfast included
- Rooms are bright and spotless
Double rooms between $15-$40 per night
Puerta Vieja Hostel - Budget Friendly
We’re not quite sure how Puerta Vieja Hostel makes money, but we’re definitely not complaining. For just $9, you get both breakfast and dinner included in the price. On top of that, they even offer a free burger and cocktail night every Friday!
There’s plenty to keep you occupied within the hostel too. There’s table tennis, a TV lounge and a large garden for chilling in. The hostel is also only seconds away from San Cristobal’s main square. It’s the best place to meet other travellers in San Cristobal.
- Free breakfast and dinner
- TV lounge and table tennis
- Great atmosphere
- Close to the main square
Dorm rooms from $9 per night, including breakfast and dinner
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 about Oaxaca to San Cristobal de las Casas
What is the distance from Oaxaca to San Cristobal de las Casas?
The distance from Oaxaca to San Cristobal de las Casas is 597 kilometre (371 miles).
What is the fastest way to get from Oaxaca to San Cristobal de las Casas?
The fastest way to get from Oaxaca to San Cristobal de las Casas is by bus and takes 9 hours 15 minutes.
What is the cheapest way to get from Oaxaca to San Cristobal de las Casas?
The cheapest way to get from Oaxaca to San Cristobal de las Casas is by bus with ticket costs starting from 1,170 MXN ($66).
Was this post helpful?
Click on a star to rate it!
Average rating 5 / 5. Vote count: 5
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.


