How to get from Oaxaca to San Cristobal de las Casas?

San Cristobal de las Casas has gained the nickname as Mexico’s magic town. It’s a vibrant bohemian city that suits has a place for all types of travellers. What makes San Cristobal really special is it’s well-preserved, colourful colonial houses that will give you the feeling of stepping back in time. There’s also a remarkable cultural and artisan scene that’s worth discovering.

With a unique mix of indigenous, colonial and contemporary influence, the artisan market is one of San Cristobal’s must-see. Here you’ll find colourful and exceptional handmade items that include some of the most exquisite textile and jewellery pieces.

If you want to try some of the area’s unique flavours, then the municipal market is the place to go. Also don’t forget to finish one of your days, if not all of them, in one of the many bars and restaurants that line almost every street. One not to miss is La Vina de Bacco where you can get wine for under $1 plus free tapas!

If that’s convinced you to travel from Oaxaca to San Cristobal de las Casas, then you’ll have to cover the 597 km (370 miles) between the two cities. The most popular way to do this is a 12-hour bus ride with fares around 862 MXN ($40).

Recommended transport option

Transport ModeDurationCostsAvailability
Bus12 hoursFrom 862 MXN ($40)Check Bus Tickets
Flight via Tuxtla Gutierrez + Bus8 hoursFrom 3185 ($150)Check Flight Tickets

Check Bus Tickets

We understand that most people aren’t the biggest fan of taking long-distance buses, but it’s the only feasible option for this route. Taxis and private transfers for such a long distance end up being super expensive.

We know that some people would rather fly to avoid a nearly 12-hour bus ride, but San Cristobal doesn’t have an airport, so you would need to fly to Tuxtla Gutierrez, a city near to San Cristobal, first and then take a bus. However, there still isn’t a direct flight between Oaxaca and Tuxtla, so you would need to do a layover as well.

The combined layover, with the bus transfer from Tuxtla Gutierrez makes it a quite complicated journey of more than 8 hours. For this reason, we don’t recommend flying. Also, when accounting for transfers to and from airports, flight tickets and the bus to San Cristobal, the price will be around three to five times the one of the bus.


Itinerary from Oaxaca to San Cristobal


  • Oaxaca
  • 12 hours
  • San Cristobal Bus Terminal
  • 5 – 15 minutes
  • San Cristobal City Centre


Bus icon

Oaxaca to San Cristobal de las Casas by Bus

Duration: 12 hours
Cost: 862 MXN ($40) 

Buses to San Cristobal every evening from the Main Bus Terminal in Oaxaca, which can be easily reached by taxi.

A ride from the city centre to the bus terminal in Oaxaca costs between 50 – 80 MXN ($2.30 – $3.70) and takes only around 5 minutes.

An advantage of the night bus is that you’ll be able to grab some sleep and save money on accommodation. A good tip when riding buses in Mexico is to always wear warm clothes. They like to have the air-conditioning on full for the whole journey, so the bus can get pretty chilly!

During the journey, the bus will make a number of stops where you’ll be able to stretch your legs and go to the toilet.

Step 1: Oaxaca to San Cristobal de las Casas by Bus

Duration: 12 hours
Cost: 862 MXN ($40)

The bus route from Oaxaca and San Cristobal is provided by OCC. Vehicles are all first-class and include AC, reclining seats and a toilet.

The OCC buses from Oaxaca to San Cristobal have two departures every night, at 21:00 and 22:30.

Bus OperatorSchedulesDurationCosts
OCC21:00 – 08:55
22:30 – 10:25
11 hours 55 minutes862 ($40)

Check Available Bus Tickets on ClickBus

Step 2: San Cristobal de las Casas Bus Terminal to the City Centre

Duration: 5 – 15 minutes
Cost: From 50 MXN ($2.30)

The bus will drop you at the Main Bus terminal in San Cristobal de las Casas. This terminal is located very close to the city centre and it takes only 10 minutes to walk to the main square.

If your accommodation is further away, or you just prefer not to walk, there are taxis available outside the bus terminal with rates starting at around 40 MXN ($2).


Was this post helpful?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

COVID-19 Limitations: Transportation services have limited availability and schedules might be less frequent. Please check our recommended booking websites for the most recent schedules.
COVID-19 UPDATE: Due to recent travel restrictions, most of the transportation services are currently unavailable or subject to change.