My quick answer: fly for speed, train for the journey
There are three realistic ways I would travel from Chiang Mai to Bangkok: fly, take the overnight train, or use a long-distance coach. None is automatically "best". The right one depends on what matters most that day — time, sleep, budget, luggage or simply whether you want the travel leg to be part of the trip.
If I had an international flight to protect, I would normally fly to Bangkok with a generous buffer. If I had a free evening and liked rail travel, I would take the sleeper. I would choose the bus mainly when fare or departure timing made it materially better than the other two.
Flying: the practical default for a tight itinerary
Chiang Mai International Airport (CNX) has frequent Bangkok service, and the airborne portion is roughly 1 hour 15 minutes. The important detail is not just the fare — it is which Bangkok airport you land at. Bangkok has two major airports, Suvarnabhumi (BKK) and Don Mueang (DMK), and changing between them can erase much of the convenience of a cheap flight.
If your onward international flight leaves BKK, I would strongly prefer a Chiang Mai flight arriving BKK rather than saving a small amount to land at DMK and then crossing Bangkok. If the tickets are separate, I leave a much larger connection buffer than the airline's theoretical minimum because delays, baggage collection and airport transfers are my responsibility.
Allow time at CNX too. The airport is close to central Chiang Mai, but morning and evening traffic can still slow the trip. I would check the live flight and terminal information on the airline and airport channels before leaving the hotel rather than relying on an old screenshot.
The overnight train: slower, but it replaces a hotel night
The State Railway of Thailand's Northern Line links Chiang Mai with Bangkok, with long-distance services terminating at Bangkok's Krung Thep Aphiwat Central Terminal. The appeal is obvious: you leave Chiang Mai in the afternoon or evening, sleep for much of the journey and arrive in Bangkok the next day without spending daylight in an airport.
I would book through the official SRT/D-Ticket system or at an SRT station and compare the actual train number, departure time and class on my travel date. Sleeper berths can sell ahead during weekends, holidays and peak travel periods, so this is not one I would leave until the final evening if the train itself matters to the trip.
Which train class would I pick?
For an overnight journey, I would prioritise a proper sleeper over the cheapest seat. Second-class air-conditioned sleepers are the usual value sweet spot: daytime seats convert into berths, curtains provide basic privacy, and you get a horizontal night's sleep without paying for a private first-class compartment. First class can make sense for two people who value a lockable compartment and extra privacy, but availability is limited.
Bring a light layer because air-conditioning can feel cold, keep valuables and documents close, and have snacks/water even if food is available. The train is part transport and part experience; I would not choose it because it is the fastest.
Long-distance bus: useful, but compare it honestly
Intercity coaches also run the Chiang Mai–Bangkok corridor, including services associated with Thailand's Transport Co/BKS and private operators. A coach can be economical and departure times may suit travellers who missed the best rail options. The trade-off is spending many hours seated on the road, often overnight.
I would confirm the exact Chiang Mai departure terminal and Bangkok arrival terminal on the operator's current booking channel. Do not assume every ticket labelled "Bangkok" uses the same station. For an overnight bus, I also check seat layout, onboard toilet information, luggage allowance and whether the fare is actually enough cheaper than a flight to justify the extra time.
Do not build a fragile Bangkok connection
The biggest planning mistake is treating the Chiang Mai–Bangkok leg as if nothing can go wrong. If you have a same-day international departure, a visa appointment, a cruise, or another fixed commitment, add real contingency. Separate air tickets deserve more buffer than a protected through-ticket. A sleeper or bus arriving the same morning as a long-haul flight is a gamble I would avoid.
If my international flight were especially important, I would consider reaching Bangkok the previous night. One hotel night is often cheaper than replacing a missed long-haul ticket.
Decision guide
- Choose a flight when time and predictability matter most, especially for onward flights.
- Choose the sleeper train when you have time, want the journey to be part of the experience and can reserve a berth in advance.
- Choose a coach when the fare or schedule wins clearly and you are comfortable with a long road journey.
For the northbound version and broader airport logistics, see my Getting to Chiang Mai and Chiang Mai airport guides.
Cheers, Carpe Diem & making the Bangkok connection without a sprint! 🍻⏳🚆
TATS Man
your timetable-checking travel journo