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
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 ($49).
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 80km 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).
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 ($120) – very expensive, and not at all convenient.
Itinerary from Oaxaca City to San Cristóbal de las Casas
Bus
- 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 ($49)
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 day time 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.45)
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.45).
Step 2: Oaxaca to San Cristóbal de las Casas by Bus
Duration: 11.5 hours
Cost: 914 MXN ($44.50)
There are 3 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 ($44.50).
Bus schedule from Oaxaca to San Cristobal de las Casas
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 2: San Cristóbal de las Casas Bus Station to the City Centre
Duration: 10 minutes
Cost: From 40 MXN ($1.95)
The bus will drop you off at the Main Bus Terminal in San Cristóbal de las Casas. This station 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 from 40 MXN ($1.95).
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
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 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
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
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