Five options, one clear winner (but it’s not what you’d expect)
Bangkok to Chiang Mai is a roughly 700km journey north. I’ve done it by plane, overnight train, day train, overnight bus, and private car. Each tells you something different about Thailand. Here’s the honest breakdown.
Overnight train: my favorite by far
The 8:00pm departure from Bangkok’s Hua Lamphong (or the newer Bang Sue station) arrives in Chiang Mai around 7:00am. Second-class sleeper costs ฿600–800 — you get a proper fold-down bed with a curtain for privacy, clean linen, and the gentle rocking of the train. I’ve slept better on this train than in some hotels.
The experience of waking up as northern Thailand’s mountains come into view is something I genuinely look forward to. Book at least a week ahead through the State Railway of Thailand website or Klook — sleeper berths sell out.
Flying: fast but soulless
Bangkok to Chiang Mai is 1h15min. AirAsia, Nok Air, and Thai Lion Air all fly it for ฿500–1,500 if booked in advance. If you’re short on time, obviously this is the answer. But Chiang Mai’s airport is small and not close to the city center, and the whole experience is just… airport. Check Aviasales for the best current fares.
Overnight bus: the budget option
Around ฿400–600 from Bangkok’s Mo Chit bus terminal. 9–10 hours, reclining seats, usually arrives pre-dawn which means waiting at a café until your guesthouse opens. Fine, not exciting, colder than expected (Thai buses blast the air conditioning).
What I’d tell a friend
Take the overnight train. Even if you’re short on time, the experience is worth building into your itinerary. It’s one of those travel moments that becomes a story, not just a transfer.
Plan Your Trip
- 🎫 Tours & activities — KKday
- 🏨 Hotels — EconomyBookings
- 🚕 Airport transfer — Welcome Pickups
- 📱 eSIM & SIM card — Airalo
- 🚗 Car & scooter rental — Localrent
- ✈️ Flights — Kiwi.com