How to get from
Oaxaca to San Cristobal de las Casas

Overview Compare Bus To Stay

How to get from Oaxaca to San Cristóbal de las Casas

San Cristóbal de las Casas, located in the Mexican state of Chiapas, has gained the nickname as Mexico’s magic town. It’s a vibrant bohemian city that has a place for all types of travellers. What makes San Cristobal really special is its 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!

New to San Cristobal de las Casas? Our compact San Cristobal de las Casas guide shows you the best areas to stay, restaurants you don’t want to miss and many more tips for your visit to San Cristobal!

2 ways to get from Oaxaca to San Cristóbal de las Casas

Transport ModeDurationCostsAvailability
Bus12 hours1,004 MXN ($51)Check Bus Tickets
Flight via Tuxtla Gutierrez + Bus5 hours2,450 MXN ($125)Read article for more info

We recommend taking a bus to travel the 597 km (370 miles) from Oaxaca to San Cristobal. This bus journey takes 12 hours and costs around 1,004 MXN ($51).

While long bus journeys like this aren’t the most enticing, the bus is the only feasible option for this route. Taxis and private transfers for such a long distance end up being super expensive.

Aren’t there other options? Well, you can fly. But apart from there being no direct flights for this route, there is no airport in San Cristobal de las Casas. The nearest is Tuxtla Gutierrez Airport, located 80 km away.

We don’t recommend flying from Oaxaca to San Cristobal de las Casas

As San Cristobal doesn’t have its own airport, you can only fly from Oaxaca to Tuxtla Gutierrez. But even between those two cities, there is no direct flight. You’ll first have to fly to Mexico City, located northwest of Oaxaca, before boarding another flight going to southern Mexico. The shortest indirect flight takes around 3.5 hours with fares from around $100.

Upon arrival at Tuxtla Gutierrez, you’ll then have to take a 1-hour bus to San Cristobal with fares from 250 MXN ($12.50).

We don’t see much sense in taking an indirect flight – going back and forth and making several transfers with not much chance to rest – when you can just sit back and relax on a direct bus. You can sleep all the way and wake up in the vibrant city of San Cristobal de las Casas.

On top of all that, combined fares start from 2,450 MXN ($125), which is quite expensive and not at all convenient.

Itinerary from Oaxaca City to San Cristóbal de las Casas


  • Oaxaca City Centre
  • 10 minutes
  • Oaxaca Bus Terminal
  • 11.5 hours
  • San Cristobal Bus Terminal
  • 10 minutes
  • San Cristobal City Centre

Oaxaca to San Cristóbal de las Casas by Bus

Duration: 12 hours
Cost: 1,004 MXN ($51)
Duration: 12 hours
Cost: 1,004 MXN ($51)

Although it’s quite a long bus journey from Oaxaca to San Cristobal de las Casas, it’s worth noting that all buses operate overnight. You can still save your daytime for exploring and you can even save one night 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!

Step 1: Oaxaca City Centre to Bus Station

Duration: 10 minutes
Cost: 50 MXN ($2.55)
Duration: 10 minutes
Cost: 50 MXN ($2.55)

Buses to San Cristobal depart every evening from the ADO Bus Terminal in Oaxaca City (also called Oaxaca de Juárez). You can get there on foot if your accommodation is nearby.

A more convenient option though would be to take a short taxi ride, about 10 minutes from the tourist area, and costs around 50 MXN ($2.55).

Step 2: Oaxaca to San Cristóbal de las Casas by Bus

Duration: 11.5 hours
Cost: 914 MXN ($46.50)
Duration: 11.5 hours
Cost: 914 MXN ($46.50)

There are three bus trips available from Oaxaca to San Cristobal de las Casas every night.

OCC, a sub-branch of Mexico’s most popular bus company ADO, operates the buses for this route. All vehicles are first class and include air conditioning, reclining seats and a toilet.

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.

You can get a bus ticket for 914 MXN ($46.50).

Bus Schedule from Oaxaca to San Cristobal de las Casas

Bus OperatorSchedulesCosts
OCC19:00 – 07:10
21:00 – 09:10
22:30 – 11:00
914 MXN ($46.50)
Check Bus Tickets

If you want to be ensured a seat on your desired date and time, buy your tickets online beforehand.

If you’d rather buy tickets at the terminal, make sure to get there at least 30 minutes before departure time. If tickets are already sold out, then you’ll have to wait for the next trip.

Step 3: San Cristóbal de las Casas Bus Station to the City Centre

Duration: 10 minutes
Cost: 40 MXN ($2.05)
Duration: 10 minutes
Cost: 40 MXN ($2.05)

The bus will drop you off at the Main Bus Terminal in 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 just prefer not to walk, there are taxis available outside the bus terminal with rates starting from 40 MXN ($2.05).


Our favourite places to stay in San Cristobal

Hotel Bo - Treating yourself

Many people say that Hotel Bo is ‘one of the best places they’ve stayed in’. You’re certainly treating yourself if you decide to stay here. Alongside the stunning gardens brimming with flowers, there’s modern and cosy rooms, a gym and onsite restaurant.

The hotel’s restaurant treats guests to upmarket Mexican cuisine and international dishes in a thoughtfully lit dining room. 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 onsite restaurant
  • Onsite gym
  • Large and modern rooms

Double rooms start from $80 per night

Check Latest Price

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

Check Latest Price

Sereno Art Hotel - Mid Range

This 4 star hotel really does feel like it was designed by artists with it’s beautiful wall art and intricate details. The decor is an interesting blend of urban and rustic pieces.

The courtyard area 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 from their onsite restaurant
  • Creative and stunning decor
  • Great location
  • Cozy and large rooms

Double rooms between $40-$80 per night

Check Latest Price

Posada del Abuelito - Budget Friendly

Posada del Abuelito is a cozy 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.

The delicious breakfast that’s included 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 atmosphere created by the hosts will make you feel instantly at home.

  • Homely atmosphere
  • Great location
  • Rooms are bright and spotless

Double rooms between $15-$40 per night

Check Latest Price

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 a great place to meet other travellers.

  • 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

Check Latest Price


Was this post helpful?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 4

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!

Your feedback is very valueable to us

How we can improve this post?