
Bus from Oaxaca to San Cristóbal de las Casas
Overnight coach · ~10–11h · $35–$55 USD · A few daily, incl. overnight
Why choose Spring Bus?
Spring Bus is the best way to find bus tickets from Oaxaca to San Cristóbal de las Casas
Plan your perfect trip
Find and book your bus tickets in just a few clicks.
Best prices
We partner with top bus companies to provide you with the best prices available.
Flexible Booking
Change your travel plans as needed with our flexible booking options.
The Oaxaca to San Cristóbal de las Casas bus connects two of southern Mexico's most atmospheric highland towns on a roughly 10-to-11-hour mountain journey, usually overnight. It's a favourite of culture and adventure travellers on the well-worn route between Oaxaca's mezcal, markets and Monte Albán and the indigenous, cobblestoned charm of San Cristóbal in highland Chiapas. The trip crosses the dramatic Isthmus of Tehuantepec and climbs into pine-clad mountains. Spring Bus connects travellers to the operators running this scenic but demanding corridor, so you can line up the overnight departure and comfort level that fit the long ride.
ADO and OCC run the route with air-conditioning, reclining seats and onboard restrooms, and most departures are timed for overnight travel with a morning arrival. Buses arrive at the OCC/ADO terminal on the Pan-American Highway just south of San Cristóbal's centre, a short taxi or walk from the main square and many guesthouses. From San Cristóbal, onward OCC services reach Palenque, Tuxtla Gutiérrez and the Guatemalan border. Book ahead during Oaxaca's festival season and the winter travel peak, and dress warmly for the cool highland arrival.
Route details: Oaxaca to San Cristóbal de las Casas
Travel time
10 h 30 min
Distance
640 km
Typical fare
$35 – $55 USD per person
Frequency
A few daily, incl. overnight
First departure
Approx. 5:30 PM
Last departure
Approx. 9:00 PM
Operators on this route
ADO · OCC
Pickup at Oaxaca
ADO terminal (Primera Clase) on Calzada Niños Héroes, northeast of Oaxaca's centre
Drop-off at San Cristóbal de las Casas
OCC/ADO terminal on the Pan-American Highway, south of San Cristóbal's centre
About the journey
The Oaxaca to San Cristóbal de las Casas bus is a mountainous overnight haul of about 640 kilometres taking some 10 to 11 hours, linking two of southern Mexico's most beloved highland towns. From Oaxaca's Central Valleys the road descends southeast toward the Pacific side and crosses the hot, flat Isthmus of Tehuantepec, the narrow waist of Mexico, around Juchitán and Tehuantepec. It then begins a long climb on Highway 190, the Pan-American Highway, winding up into the pine-forested mountains of Chiapas. The final hours twist through cool highland terrain and indigenous Tzotzil and Tzeltal country before reaching San Cristóbal at about 2,200 metres. The route is fully paved but heavy on mountain curves at both ends, and the overnight timing lets travellers sleep through the long isthmus crossing in the middle.
Travel tips for Oaxaca → San Cristóbal de las Casas
- Take the overnight bus — most departures travel through the night, covering the long, hot isthmus crossing while you sleep and arriving in San Cristóbal by morning.
- Pack for cold mountains — San Cristóbal sits at around 2,200 metres and is chilly at night, so have a warm layer ready for arrival even in summer.
- Bring motion-sickness remedies — the route climbs and curves through the mountains at both the Oaxaca and Chiapas ends, which can unsettle sensitive travellers.
- Carry snacks, water and a power bank — there are few long stops overnight and the cabin air-conditioning runs cold.
- Keep your passport or ID accessible — checkpoints operate across Oaxaca and Chiapas, and you may be asked to show identification.
- Plan onward Chiapas trips from San Cristóbal — it's the regional base for buses and tours to Palenque, Sumidero Canyon and the Guatemalan border.
Frequently asked questions
How long is the bus from Oaxaca to San Cristóbal de las Casas?
The journey takes approximately 10 to 11 hours across around 640 kilometres. The mountainous climbs at both ends and the isthmus crossing in the middle shape the overall time.
How much does the Oaxaca to San Cristóbal bus cost?
Fares typically range from about $35 to $55 USD (roughly 620–980 MXN) one way, with ADO and OCC fares varying by service and how far ahead you book.
What time do buses leave Oaxaca for San Cristóbal?
A few departures run daily, mostly in the evening between around 5:30 PM and 9:00 PM, timed to travel overnight and arrive in the morning. Confirm the current schedule when booking.
Is the bus from Oaxaca to San Cristóbal overnight?
Yes, most services travel overnight, which lets you sleep through the long, hot crossing of the Isthmus of Tehuantepec in the middle of the route and arrive in the cool highlands by morning.
Is the Oaxaca to San Cristóbal route scenic?
It's a dramatic mountain journey crossing the Isthmus of Tehuantepec and climbing into the pine forests of highland Chiapas, though much of it is travelled overnight in the dark. The daytime portions near both cities offer the best views.
Going the other direction?
Bus from San Cristóbal de las Casas to Oaxaca
Related routes
Bus route
Palenque → San Cristóbal de las Casas
5 h · $15–$30 USD
Bus route
Mexico City → San Cristóbal de las Casas
12 h 30 min · $45–$75 USD
Bus route
Oaxaca → Huatulco
6 h 45 min · $15–$30 USD
Bus route
Oaxaca → Mexico City
6 h 30 min · $30–$60 USD
Bus route
Oaxaca → Puebla
4 h 30 min · $20–$35 USD
Bus route
Oaxaca → Puerto Escondido
4 h · $15–$30 USD