Bangkok to Chiang Mai 2026: Train vs Flight vs Bus Costs

Fly if your time matters most (1h 15m, often ฿999-฿1,666 ($30-50)) booked ahead); take the overnight sleeper train if you want to save a hotel night and enjoy the ride (~฿833-฿1,332 ($25-40)), 11-13 hours); take the bus only if it’s the cheapest option left. Bangkok to Chiang Mai is Thailand’s classic long-haul domestic route, and the right choice depends on whether you’re optimising for money, time, or the journey itself. Here’s the honest breakdown.
The short answer
- Fastest: flight, 1h 15m in the air.
- Cheapest: bus, from ~฿466 ($14), but 9-11 hours.
- Best value overall: the overnight sleeper train, it’s a bed and a transfer in one, saving a hotel night while covering the distance in your sleep.
Book the flight if time is tight and fares are low. Book the sleeper if you want the experience and the accommodation saving. Book the bus only if the other two are sold out or over budget.
Option 1: The overnight sleeper train
The sleeper is the traveller favourite for good reason:
| Class | Approx. cost | Notes |
|---|---|---|
| 2nd-class A/C sleeper (lower berth) | ~฿999-฿1,332 ($30-40)) | The sweet spot; curtained bunk, A/C |
| 2nd-class A/C sleeper (upper berth) | ~฿833-฿1,166 ($25-35)) | Cheaper, slightly less headroom |
| 1st-class private cabin | ~฿1,666-฿2,332 ($50-70)) | Two-berth private room |
Verdict: the 2nd-class A/C sleeper is the best value on this entire route. It leaves Bangkok’s Krung Thep Aphiwat station in the early evening and arrives in Chiang Mai the next morning, so you pay for transport and a bed at once, effectively removing one hotel night from your trip. Lower berths cost a little more but are wider and have a window; book them first, and book days ahead because sleepers sell out. The new trains on this line are modern and comfortable; the scenic northern hills arrive in daylight near the end.
Option 2: The budget flight
| Factor | Detail |
|---|---|
| Flight time | ~1h 15m |
| Typical fare (booked ahead) | ฿999-฿1,666 ($30-50)) one-way |
| Carriers | AirAsia, Nok Air, Thai Lion, Thai VietJet, plus Thai Airways |
| Hidden costs | Baggage fees, airport transfers both ends |
Verdict: flying wins on raw speed and often on headline price, budget fares booked a few weeks out can undercut the sleeper. But the door-to-door reality narrows the gap: Don Muang or Suvarnabhumi transfers, check-in, security, and the ride from Chiang Mai airport into town can add 2-3 hours and ฿333-฿666 ($10-20)) in transfers to that 75-minute flight. Fly if a low fare lines up with your dates and you value time over experience; don’t assume the sticker price is the true cost.
Option 3: The VIP bus
| Class | Approx. cost | Notes |
|---|---|---|
| VIP / first-class coach | ~฿600-฿766 ($18-23)) | Reclining seats, A/C, snacks, 9-11 hrs |
| Standard A/C coach | ~฿466-฿600 ($14-18)) | Less legroom, more stops |
Verdict: the bus is the cheapest comfortable option and runs frequently overnight from Bangkok’s Mo Chit terminal. Modern VIP coaches have generous reclining seats and are a legitimate way to save money and a hotel night. But it’s the slowest of the three and road travel is less restful than a train berth. Take the VIP bus if the sleeper is sold out and flights cost more than the ฿833-฿1,332 ($25-40)) sleeper fare, or if you specifically prefer buses; otherwise the train does the overnight job better for a similar price.
Head-to-head comparison
| Factor | Sleeper train | Flight | VIP bus |
|---|---|---|---|
| Cost | ฿833-฿1,332 ($25-40)) | ฿999-฿1,666 ($30-50)) (+extras) | ฿466-฿766 ($14-23)) |
| Total time | 11-13 hrs | 1h15m + transfers | 9-11 hrs |
| Saves a hotel night | Yes | No | Yes (overnight) |
| Comfort | High (flat berth) | Medium | Medium |
| City-centre to city-centre | Yes | No | Yes |
| Best for | Experience + savings | Speed | Rock-bottom budget |
The rule: overnight sleeper for the best all-round value, flight for speed when fares are low, bus for the absolute cheapest seat.
The overnight hack that saves a hotel night
The single best budget move on this route: take the evening sleeper train (or overnight VIP bus) so the journey doubles as your accommodation. A 2nd-class berth at ~฿999 ($30) replaces both a ~฿1,666 ($50) flight-plus-transfers day and a night’s hotel, effectively making the transport free or better once you count the saved room. Board in Bangkok after dinner, wake up in Chiang Mai, and start your first northern day without losing daylight to travel. This is why experienced travellers pick the sleeper even when flights are available.
Booking this route: what to get right
- Book sleeper berths early. Lower 2nd-class berths sell out first, especially in high season and around holidays. Reserve as far ahead as you can.
- Compare true flight cost, not headline fare. Add baggage and both airport transfers before deciding the plane is cheaper than the train.
- Avoid travel around Songkran (April) and New Year. Every option sells out and prices spike; book weeks ahead or travel on off-peak dates. See Songkran in Thailand for timing.
- Match arrival time to your plans. The sleeper arrives morning, ideal for a full first day; late flights or buses can waste an evening.
Which city guide to read next
Both ends of this route have full budget breakdowns. Before you go, read the Bangkok budget guide for the capital and the Chiang Mai budget guide for the north. If you’re continuing further north, the Chiang Rai budget guide covers the White Temple and Golden Triangle beyond Chiang Mai.
Common mistakes on this route
Assuming the flight is automatically cheapest and fastest door-to-door. Once you add transfers and baggage, a ฿1,166 ($35) fare can cost ฿1,999 ($60)+ and eat three hours on the ground. The sleeper often wins on true value.
Booking the sleeper too late and getting stuck with an upper berth or no berth. Lower 2nd-class berths go first. Reserve early or accept the compromise.
Travelling during Songkran without a reservation. Mid-April is the worst time to wing it on this route, everything sells out. Book ahead or shift your dates.
Prices verified as of August 8, 2026.
Book these while you’re there

Bangkok & Ayutthaya: Private Tour with Baiyoke Lunch&Cruise

Private Tour to Railway Market, Floating Market And Ayutthaya

Walking Chinatown Speakeasy Bar Tour with Cocktails

Baiyoke Sky Hotel Buffet and 81st Floor Ticket

Private Tour to Erawan Waterfall and Boat Tour in Kanchanaburi

Bangkok Street Food and Night Lights by Tuk Tuk

Sea Life Bangkok Ocean World Ticket
#thailand#bangkok#chiang mai#transportation#budget travel
Frequently Asked Questions
What's the cheapest way from Bangkok to Chiang Mai?
The bus is cheapest, roughly 500-800 baht (฿466-฿766 ($14-23))) for a VIP coach, but it's the slowest at 9-11 hours. The 3rd-class fan train is even cheaper but punishingly long. For most budget travellers the sweet spot is a budget flight (often ฿999-฿1,666 ($30-50)) booked ahead) or a 2nd-class sleeper train (~฿833-฿1,332 ($25-40))), which doubles as a night's accommodation.
How long is the train from Bangkok to Chiang Mai?
About 11-13 hours. The overnight sleeper leaves Bangkok's Krung Thep Aphiwat station in the evening and arrives in Chiang Mai the next morning. It's slower than flying but saves a hotel night and delivers the scenic northern approach in daylight near the end.
Is it better to fly or take the train to Chiang Mai?
Fly if your time is worth more than the experience, it's 1h 15m in the air versus 11+ hours overland, and budget fares often undercut the sleeper train. Take the overnight sleeper if you want to save a hotel night, avoid an airport transfer at both ends, and enjoy the journey itself.
How much is a flight from Bangkok to Chiang Mai?
Budget carriers (AirAsia, Nok Air, Thai Lion, Thai VietJet) often sell fares from ฿999-฿1,666 ($30-50)) one-way booked a few weeks ahead, sometimes less on promotions. Add baggage fees and airport transfers at both ends, which can erode the time advantage over the train for a city-centre-to-city-centre trip.
