Bangkok to Chiang Mai: Sleeper Train vs Flight vs Bus
Comparing Bangkok to Chiang Mai by sleeper train, flight and bus, with sourced fares, journey times and practical advice on which option is worth it.
By the Travel Saving Hub team · Updated 19 Oct 2026

The short version
Bangkok to Chiang Mai is one of those journeys where the cheapest option is not automatically the most sensible. The train takes most of the night, the flight takes little more than an hour in the air, and the bus is usually the low-cost middle ground if you can tolerate sitting for a very long time.
The short version
- Choose the sleeper train if you like the journey itself, want to avoid paying for a hotel night and can book ahead.
- Choose a flight if your time is limited or you find a good fare that still works after baggage and airport transfers.
- Choose the bus if keeping the fare down matters more than comfort and you are happy with roughly 9–11 hours on the road.
For context, Chiang Mai is Thailand’s northern cultural and food-focused hub, while Bangkok is the usual starting point for the journey. We cover both in our wider Thailand guide, but this comparison is about getting between the two without making the decision more complicated than it needs to be.
12.5–13 hours
Sleeper train journey
1h10–1h20
Flight time
9–11 hours
VIP bus journey
Train from Bangkok to Chiang Mai
The train from Bangkok to Chiang Mai is the option I would consider first if I had enough time to make the overnight journey work. It is not the fastest, but it turns the transfer into a night’s accommodation and gives you a proper look at the landscape rather than a brief view of an airport ceiling.
The main overnight services discussed by Thai Train Schedule are trains No. 9 and No. 13. No. 9 is scheduled to leave Bangkok at 18:10 and arrive in Chiang Mai at 07:15 the following morning. No. 13 leaves at 19:35 and arrives at 08:40. In practice, I would leave some room around those times rather than booking an early-morning connection immediately after arrival. Long-distance rail in Thailand is useful, but it is not a Swiss watch.
The journey covers roughly 750–770 kilometres and takes about 12.5–13 hours. The early part is mostly a long run north, while the scenery becomes more interesting as the route climbs towards the Khun Tan range near dawn. That timing is one of the better things about the sleeper: you can sleep through much of the less memorable track and wake up for the greener northern section.
Sleeper train fares and berths
The fare depends on the service, berth and class. Chiang Mai Train lists second-class air-conditioned sleeper berths at roughly THB 893–1,328, with lower berths generally costing more than upper berths on some services. Its published ranges vary by train and stock, so treat those as a fare snapshot rather than a promise for every date.
GoAsia gives typical second-class air-conditioned sleeper fares of about THB 938–1,038 and lists first-class or private-cabin options up to about THB 1,953. The useful distinction is that a berth is not the same thing as a private cabin. If you want a door and more privacy, check exactly what the fare covers before assuming you have booked a small railway hotel room.
The lower berth is easier to get into and has more usable space, but it is usually the more expensive choice. The upper berth is narrower and closer to the ceiling. I would still take an upper berth over a bus seat for an overnight journey, provided I had not left booking until the last minute.
What we liked
- You travel overnight and can avoid paying for a separate hotel night.
- The bed is more practical than trying to sleep upright on a coach.
- The northern scenery is worth being awake for near dawn.
- You arrive in Chiang Mai in the morning rather than losing most of a daytime travel period.
What we didn't
- The journey is long and delays or timetable changes are possible.
- Popular sleeper services can sell out early.
- Upper berths are compact, while first-class cabins cost considerably more.
- Station arrangements and route details can change, so check the current service before travelling.
Bangkok to Chiang Mai flights
Flying is the obvious choice when time is the main constraint. Nonstop flights take around 1h10–1h20, according to the travel-time figures in the research from OutThailand. That is the time in the air, not the time from a Bangkok hotel to a Chiang Mai guesthouse. Add the journey to the airport, check-in, security, boarding and the transfer at the other end, and the door-to-door saving is smaller than the headline suggests. It is still substantial, though.
Thai Airways’ Bangkok–Chiang Mai fare page shows examples around THB 2,773, with the actual fare varying by date and availability. The wider research range is roughly THB 650–3,000 one way, because budget-airline promotions can be much lower than a full-service fare. Those cheaper fares need checking carefully for baggage, seat selection and airport-transfer costs. A fare that looks wonderfully cheap can become less interesting once the extras have been added.
I would look at flights first when I had a fixed arrival time in Chiang Mai, a short trip, or onward plans that made losing a full day inconvenient. Morning departures are usually the most useful for maximising time at the destination, while a late flight can work if the fare is much lower and the airport transfer is straightforward.
The downside is less romantic and more administrative: airports, queues and changing fare rules. You also lose the hotel-night advantage of the sleeper train. For two people, a flight can still be good value if the time saved matters, but it is not automatically cheaper than rail.
Bangkok to Chiang Mai by bus
VIP buses generally take around 9–11 hours between Bangkok and Chiang Mai, with typical one-way fares of THB 600–1,150. Those figures come from the OutThailand comparison and refer to the usual range rather than one universal ticket price. Operator, seat layout and departure point all affect the experience.
Most services leave from Bangkok’s Mo Chit area or another long-distance terminal. Some options have city-centre pickup or drop-off arrangements, but I would check the exact location rather than assuming “Bangkok” means somewhere near my hotel. A transfer across the city before a long coach journey is not a great introduction to the day.
VIP usually means a larger reclining seat and more space than a basic coach, not a luxury sleeper with a personal butler. Comfort varies by operator. Some buses include snacks, drinks or a blanket; others are essentially a long ride with a wider seat. Toilets and rest stops also differ, so the operator matters more than the word “VIP”.
The bus makes sense when the fare is the main consideration and you would rather spend the day travelling than book a flight. It is also faster than the sleeper train on paper. I would be less keen on using it overnight, because a reclining coach seat is still a coach seat, and the arrival time can leave you feeling as though you have paid to sleep badly in public.
Which option is worth it?
If I wanted the most balanced experience, I would choose the sleeper train, particularly No. 9 or No. 13, and book a second-class air-conditioned berth. The published fare range of about THB 893–1,328 is not the absolute cheapest way north, but it includes the journey and a place to sleep. For me, that makes the higher fare easier to justify than simply comparing ticket prices.

I would fly if I had only a few days in Thailand, needed to arrive at a particular time, or found a low fare that remained reasonable after baggage and airport transfers. At roughly 1h10–1h20 in the air, flights win decisively for time. Thai Airways’ published example around THB 2,773 shows the kind of fare full-service travellers may see, but prices change by date and promotions.
I would take the bus if I was prioritising the lowest researched fare range, roughly THB 600–1,150, and did not mind giving up 9–11 hours to save money. It is a reasonable transport solution, just not the one I would choose for comfort. The bus is particularly hard to recommend over a cheap flight if the flight price is close and you are already tired from travelling around Bangkok.
Book the sleeper before the itinerary fills up
Sleeper tickets can sell out early, especially on popular overnight services. Check the official SRT D-Ticket platform and compare the berth type, not just the train number.
Compare the whole flight cost
Include baggage, airport transfers and the time needed to reach the airport. The advertised fare is only one part of the decision.
Treat VIP bus as a category, not a guarantee
Check the operator, terminal, seat layout and included services. “VIP” does not mean every coach is equally comfortable.
Booking and timing advice
Sleeper tickets are reported to open around 90–180 days ahead, with the official D-Ticket platform commonly cited as the place to book. The research notes also refer to an approximately 180-day booking window. Because booking rules and release dates can change, I would check the current SRT system rather than relying on an old forum answer. Book as soon as the dates are firm if you specifically want a lower berth or private cabin.
For flights, compare several dates rather than assuming the first fare is representative. The research includes Thai Airways’ published fare page and notes that budget-carrier promotions can bring the lower end of the range down, but availability is volatile during busy periods. Check what baggage is included before comparing a flight with a train berth.
For buses, confirm both ends of the trip. Mo Chit is not a minor detail if you are staying on the opposite side of Bangkok, and Chiang Mai’s drop-off point may still require a local transfer. I would also avoid planning a tight same-day connection after the bus or train unless the next booking is flexible.
Bottom line
For a practical comparison, the Bangkok to Chiang Mai train takes about 12.5–13 hours and costs roughly THB 893–1,328 for many second-class air-conditioned sleeper berths. Flights take about 1h10–1h20 in the air, with researched one-way fares ranging from roughly THB 650–3,000 and a Thai Airways example around THB 2,773. VIP buses take about 9–11 hours and commonly cost THB 600–1,150.
The train from Bangkok to Chiang Mai is worth choosing when you want to sleep en route and make the journey part of the trip. Flying is worth the extra cost when time matters. The bus is the sensible budget fallback, provided you are genuinely comfortable spending most of a day in a coach.
See our Chiang Mai destination guide before booking the return journey, particularly if you are deciding how many nights the time saved by flying is actually worth.