San Cristóbal de Las Casas ofrece una amplia selección de hoteles de 4 estrellas en el centro histórico y zonas aledañas. Estos alojamientos, con precios que van desde los 50 hasta los 120 USD por noche, suelen incluir desayuno, estacionamiento privado gratis, WiFi de alta velocidad y servicio de recepción 24 horas. Los barrios más recomendados para alojarse son el centro, cerca de la Catedral y el Parque Central, o la zona de Santo Domingo, donde se concentran cafés y mercados artesanales. Muchos hoteles ocupan edificios coloniales restaurados, con patios interiores y jardines.
Entre los mejor calificados destaca Hotel Villa Mercedes San Cristóbal, con calificación de 9.0, ideal para viajeros de negocios y familias gracias a su jardín, restaurante y buffet de desayuno. Plaza Magnolias, también con 9.0, ocupa una construcción del siglo XVI a dos minutos de la plaza principal, ofreciendo habitaciones con decoración colonial y cocina local. Hotel Casa Mexicana (8.9) presenta un patio central con balcones, estacionamiento gratuito y un bar de cocina yucateca. Para quienes buscan piscina, Hotel Catedral (8.7) cuenta con alberca techada y está a 300 metros de la Catedral. Hotel San Marcos (9.0) ofrece desayuno americano y vistas a la montaña, mientras que Hotel Diego de Mazariegos (9.1) destaca por sus dos restaurantes y ambiente histórico.
