Which option should you choose?
For a short Thailand trip, our default is a direct flight from Bangkok to Chiang Mai. Choose a sleeper train when the rail journey is part of the holiday and you can keep the next morning flexible. A bus is worth comparing when the train is sold out or its complete price and arrival time suit you better; it is an overnight seated journey rather than a bed.
The useful comparison is hotel to hotel. A flight takes about 1 hour 10 minutes on the DMK–CNX route described by AirAsia MOVE, but airport access, check-in and the final transfer add several separate stages.[8] Train and bus arrivals also leave a journey to your hotel and often a wait before the room is ready.
[8] Bangkok Don Mueang–Chiang Mai flight routeTrain, flight and bus compared
Swipe or scroll sideways to compare every column.
| Your decision | Journey and endpoints | Choose it when | Main drawback |
|---|---|---|---|
| Direct flight | Check BKK or DMK to CNX; around 1 hour 10 minutes for the listed DMK route | You want to protect sightseeing time | Airport access, baggage charges and check-in add to the ticket |
| Sleeper train | Krung Thep Aphiwat to Chiang Mai; an overnight journey | You want a berth and the train experience | Berth availability and sleep quality can decide the trip |
| Intercity bus | Sombat lists Mo Chit 2 to Chiang Mai, around 10 hours 30 minutes | The dated fare and arrival beat your alternatives | A reclining seat is not a sleeper berth; road delays remain |
Sleeper train: use Krung Thep Aphiwat, not Hua Lamphong
The northbound timetable published by Thailand Trains lists train 9 from Krung Thep Aphiwat at 18:40 to Chiang Mai at 07:15 the next morning, and train 13 at 20:05 to 08:45. These are indicative published schedules checked in October 2026, not a live availability result. The same timetable lists train 109 arriving at 04:00: do not assume every overnight train offers a convenient breakfast-time arrival.[6]
Use SRT D-Ticket to confirm your date, departure station, accommodation and fare before buying.[7] The times above describe a published timetable, not live running information or berth availability. Use the time on your issued ticket for travel.
Book the berth you need, not merely a train described as overnight. Inspect the offered class, upper or lower berth and whether a seat or bed is being sold. For a family or a traveller who needs a lower berth, availability can matter more than a small fare difference. Do not arrive at Hua Lamphong expecting the listed Krung Thep Aphiwat departures.
[6] Published northbound train times, not live seat availabilityBook the rail journey and plan the arrival separately
Search SRT D-Ticket for the northbound station pair and your departure date, choose a service, then inspect the available carriage and passenger accommodation before payment. The official booking flow separates the train, carriage and seat selection.[7]
Keep your identification and ticket accessible and allow time at the departure terminal rather than reaching the building at departure time. In Chiang Mai, arrange the hotel transfer and luggage storage before you board. A morning train arrival does not include early room access.
If you need immediate sleep, ask the hotel for a confirmed early-check-in arrangement or book the preceding night with a written late-arrival agreement. Do not pay for a dawn excursion on the assumption that an overnight train will arrive punctually or that you will have slept well.
[7] State Railway of Thailand: date, train and accommodation searchFlights: the Bangkok airport code is part of the booking
Suvarnabhumi (BKK), Don Mueang (DMK) and Chiang Mai (CNX) are separate airports identified by Airports of Thailand.[9] Compare the complete flight details, not just a result headed Bangkok. A connection requiring BKK to DMK is a cross-city transfer, not a walk to another terminal.
AirAsia MOVE has a dedicated DMK–CNX route page, but its display also mixes changing dates and offers.[8] Use a dated direct-flight search rather than treating its headline cheapest fare as a quote. Add checked baggage, seat choices if needed, the Bangkok airport journey and the Chiang Mai hotel transfer before comparing with rail.
After an international arrival on separate tickets, allow for immigration, collecting bags and checking in again. If you are tired, travelling with children or unable to absorb a missed flight, a Bangkok night before heading north may be worth more than the earliest possible connection.
[9] Airports of Thailand: BKK, DMK and CNX airport identitiesBus: Mo Chit 2 and a seated overnight journey
Sombat Tour’s published Bangkok–Chiang Mai schedule identifies Mo Chit 2 as the Bangkok departure and Chiang Mai Bus Terminal 3 (Arcade) on its return route. It gives an estimated journey of 10 hours 30 minutes and warns that arrival times and fares may change.[10]
Examples on that schedule include 19:35–06:05 for its Star service at 661 baht and 19:25–05:55 for Supreme (Wiangphing Bus) at 1,028 baht. These are published examples checked in October 2026, not a seat reservation or a guarantee of today’s fare. Use the booking result for your exact departure and arrival points: the operator also advertises a seasonal Sukhonthasawat pickup, so a company name alone does not establish where to board.[10]
Choose the later arrival if it reduces an awkward pre-dawn wait, provided the ticket otherwise suits you. Keep medication and items needed on the journey with you. Compare the bus class and seat layout rather than assuming every premium label buys the same space.
[10] Sombat Tour: Bangkok–Chiang Mai schedule and fare examplesWhat belongs in the price comparison?
For a flight, include the fare, any checked bag, both airport transfers and any overnight stay needed to make the connection sensible. For the train, include the actual berth class, both station transfers, food and any early room access you decide to buy. For the bus, include the actual seat class, both terminal transfers and the arrival-morning arrangements.
A cheap train seat is not the same product as a sleeper berth. Nor is a bus fare directly comparable with a flight package that includes a checked bag. Compare the same travellers, bags and endpoints on the same date. The published bus examples above give a starting point; rail and flight prices need a dated search rather than an invented universal cheapest fare.
An overnight journey can replace a paid hotel night, but treat that as a saving only if its sleep and arrival arrangements work for you. If you need to buy another room to recover, include it.
Keep the first Chiang Mai day light
After a morning train or bus arrival, use the day for dropping bags, food and a short local outing. Save an expensive or early-start excursion for the following day. After a flight, your usable time depends on the actual arrival and hotel access; do not fill the schedule from the landing time.
Chiang Mai should be a base rather than a transfer point you immediately leave. Our northern Thailand guide compares a Chiang Mai-focused stay with a longer route that adds another northern destination.
Choose a Chiang Mai stay or a longer northern Thailand routeSources checked in October 2026
- [6]
- https://www.thailandtrains.com/northern-line-timetable
- [7]
- https://dticket.railway.co.th/DTicketPublicWeb/home/Home
- [8]
- https://www.airasia.com/flights/from-bangkok-dmk-to-chiang-mai-cnx
- [9]
- https://www.airportthai.co.th/en
- [10]
- https://www.sombattour.com/en/schedule