On this page
Free Astrology Insights
Tropical beach

Bangkok to Chiang Mai by Train: Is it the Best Way to Travel?

In 2026, the Bangkok to Chiang Mai route is more crowded with options than ever. Budget airline flash sales, upgraded VIP buses, and a fully modernised train terminal have all made the choice harder. But the real pain point most travellers face isn’t finding Transport — it’s figuring out which option is actually worth it once you factor in transfers, sleep, luggage, and the cost of arriving exhausted. This guide cuts through that noise, with a deep focus on the train.

What the Overnight Train Actually Feels Like

There is something genuinely satisfying about boarding a sleeper train at Bangkok’s Krung Thep Aphiwat Central Terminal as the city lights start to blur past the window. The carriage attendant folds your seat into a berth, hands over a pillow and a thin but functional blanket, and by the time you’ve settled in with a convenience store snack from the terminal, northern Thailand is already waiting at the other end of a long, steady night.

The newer Chinese-built carriages on the Special Express services — now consistently deployed on the No. 9/10 route — are a real improvement over the ageing rolling stock many travellers remember. The air-conditioning is cold enough to matter, the berths are longer than they look, and the curtains on second-class carriages give enough privacy to sleep properly. The rhythm of the rails has a way of knocking most people out within an hour.

Waking up somewhere in the hills north of Lampang, the mist still sitting on the ridgelines and the light going gold through the window — that’s the part no flight or bus can replicate. You pull into Chiang Mai in the morning, rested rather than crumpled, and the city is just starting to move.

It’s not luxury. The shared toilets are functional but basic, though newer trains have improved fixtures. Bring flip-flops and a small bag of essentials within reach of your berth. But for travellers who care about the journey, not just the destination, this route delivers something the other options simply don’t.

Train Classes and 2026 Pricing Breakdown

The State Railway of Thailand (SRT) runs several daily services on this route, but the ones worth knowing about are the overnight Special Express and Express trains. Here’s what each class looks like in practice.

Special Express Trains (No. 9/10, No. 13/14)

  • 1st Class Sleeper (Air-conditioned): Private two-berth cabin with a washbasin. The closest thing to a private room on rails. Lower berth runs approximately 1,800–2,000 THB; upper berth 1,600–1,800 THB. Suits couples or anyone who values door-to-door privacy.
  • 2nd Class Sleeper (Air-conditioned): Open-plan carriage with convertible seats that fold into berths. Curtains provide reasonable privacy. Lower berth 950–1,100 THB; upper berth 850–1,000 THB. This is the sweet spot for most independent travellers.
  • 2nd Class Seat (Air-conditioned): Standard reclining seat, more practical for daytime journeys. Around 600–750 THB.

Express Trains (No. 51/52)

  • 2nd Class Sleeper (Fan-cooled): Same layout as the AC version but windows open instead of climate control. Lower berth 700–850 THB; upper berth 600–750 THB. Fine in cooler months (November to February), less comfortable in March to May.
  • 3rd Class Seat (Fan-cooled): Non-reserved, basic seating. Cheapest way to make the journey at 280–350 THB. Mostly used by locals for shorter legs of the route — the full 11–14 hours in a hard seat is a long ask.

How to Book SRT Tickets in 2026

The official booking platform is www.dticket.railway.co.th. Tickets open 60 days before departure, and for peak season travel (November through February) and Thai public holidays, sleeper berths — especially lower bunks in 2nd Class — can sell out within days of that window opening. Book as early as the system allows.

The website accepts Visa and Mastercard. It has improved in stability since earlier versions but can still be slow during high-demand periods. If the official site gives you trouble, 12go.asia is a reliable third-party platform that books SRT tickets for a modest service fee — worth it for the smoother interface.

Buying at the station is possible, but treat it as a backup plan rather than a strategy. Walk-up tickets for popular sleeper classes are often gone days before departure. If you are flexible on dates and class, the station counters at Krung Thep Aphiwat Central Terminal (KTW) do handle same-day and next-day sales for remaining seats.

Pro Tip: In 2026, lower berths on the 2nd Class AC sleeper sell out fastest — often within 48 hours of the booking window opening for peak travel dates. Set a calendar reminder for exactly 60 days before your planned travel date and book first thing in the morning. If lower berths are gone, upper berths are genuinely fine and often the better deal on price.

Getting to Krung Thep Aphiwat — and Out of Chiang Mai Station

Since 2024, all long-distance trains to Chiang Mai depart from Krung Thep Aphiwat Central Terminal (KTW), also known as Bang Sue Grand Station. Hua Lamphong now handles only short-distance commuter routes and occasional tourist specials. If you’ve travelled this route before and are used to heading to Hua Lamphong, update your plans — you need KTW.

Getting to KTW from Bangkok

  • From Don Mueang Airport (DMK): The SRT Red Line commuter train runs directly to Krung Thep Aphiwat. This is the easiest and cheapest connection — take it.
  • From Suvarnabhumi Airport (BKK): Airport Rail Link to Phaya Thai, then BTS to Mo Chit, then MRT or Grab to Bang Sue. Alternatively, ARL to Makkasan, transfer to MRT Phetchaburi, ride the Blue Line to Bang Sue. Allow 60–75 minutes and factor in the transfer time.
  • From downtown Bangkok: MRT Blue Line directly to Bang Sue station, which connects into KTW. This is the cleanest option from most central areas.

Getting from Chiang Mai Railway Station

Chiang Mai’s station sits about 3 km east of the Old City. Your options on arrival:

  • Grab: Most straightforward. Fixed pricing, typically 80–120 THB to the Old City or Nimmanhaemin Road.
  • Red Songthaew (shared truck): The local way. Negotiate the fare — expect 40–60 THB per person to the Old City.
  • Tuk-tuk: Negotiate, usually 100–150 THB to the Old City. Fine if you enjoy the experience, but Grab is often cheaper.

How the Train Compares: Flights vs. Bus vs. Rail

Each transport option on this route serves a different kind of traveller. Here’s an honest comparison.

Flights

Thai AirAsia, Nok Air, and Thai Lion Air operate from Don Mueang; Bangkok Airways and Thai Airways from Suvarnabhumi. Flight time is around 1 hour 15 minutes, but total travel time from city centre to city centre is closer to 4–5 hours once you add transfers, check-in, security, and baggage claim. Budget fares start as low as 800–1,500 THB on promotion, but add checked baggage (essential for most travellers) and that number climbs. Flying wins on raw speed. It loses on cost transparency and the general unpleasantness of airports.

VIP Buses

Operators like Nakhonchai Air and Sombat Tour run comfortable overnight coaches from Mo Chit 2 Bus Terminal. VIP-class buses include wide reclining seats, blankets, and onboard toilets. Journey time is 9–11 hours. Fares run 600–1,000 THB for VIP class. The bus is cheaper than the train sleeper, but sleeping upright in a coach seat — however well-padded — is a different experience to lying flat. For backpackers watching every baht, the bus is logical. For everyone else, the price gap doesn’t justify the comfort difference.

The Train

The overnight sleeper is slower than flying and slightly more expensive than the bus for most classes — but it’s the only option where you arrive having genuinely slept in a horizontal position, paid nothing for accommodation that night, and seen something of the country along the way. For independent travellers making one or two big intercity journeys, it makes real sense.

2026 Budget Reality: Full Cost Comparison

All prices are one-way estimates for 2026, for a single adult, excluding food and drink.

Budget Tier

  • 3rd Class Train (fan, unreserved): 280–350 THB — cheapest possible, minimal comfort
  • Standard Bus: 400–600 THB
  • Budget Flight (promo, no baggage): 800–1,500 THB

Mid-Range Tier

  • 2nd Class Sleeper Train (fan-cooled): 600–850 THB
  • VIP Bus: 600–1,000 THB
  • 2nd Class Sleeper Train (AC): 850–1,100 THB
  • Budget Flight (with checked bag): 1,500–2,500 THB

Comfortable Tier

  • 1st Class Sleeper Train: 1,600–2,000 THB
  • Full-service Flight (BKK): 2,000–4,000+ THB
  • Bangkok Airways: 2,500–5,000+ THB

The 2nd Class AC sleeper train sits in a position where it effectively replaces one night’s budget accommodation (saving 400–800 THB in most Chiang Mai guesthouses) while delivering transport. When you run the real numbers, the train is often the most cost-efficient option for comfort-conscious travellers.

Common Mistakes to Avoid

  • Still heading to Hua Lamphong for long-distance trains: All Chiang Mai trains depart from Krung Thep Aphiwat (KTW) now. Hua Lamphong will not get you there.
  • Booking a 2nd Class fan sleeper in April: Thailand’s hottest month in an unairconditioned carriage is genuinely uncomfortable. Pay the extra 200–300 THB for AC in the hot season.
  • Assuming the train is always on time: The Bangkok–Chiang Mai route has a known history of delays, sometimes 1–2 hours on arrival. Build buffer into your first morning in Chiang Mai rather than scheduling something time-critical at 8 AM.
  • Not downloading Grab before you arrive in Chiang Mai: Mobile data can be patchy immediately outside the station. Have the app installed and a destination saved before you step off the train.
  • Underestimating baggage fees on budget flights: Promotional fares rarely include checked luggage. That 900 THB flight can become 1,800 THB once you add a bag — making the train sleeper a better value than it first appeared.

Frequently Asked Questions

Which train station in Bangkok do overnight trains to Chiang Mai leave from?

Since 2024, all Special Express and Express overnight trains to Chiang Mai depart from Krung Thep Aphiwat Central Terminal (KTW), also called Bang Sue Grand Station. Hua Lamphong no longer handles these long-distance routes. Access KTW directly via the MRT Blue Line (Bang Sue station) or the SRT Red Line from Don Mueang Airport.

How far in advance should I book a sleeper train to Chiang Mai?

Book as close to 60 days in advance as possible for peak season travel (November to February) and Thai public holidays. Lower berths in 2nd Class AC go fastest. Outside peak season, one to two weeks in advance is usually sufficient, but earlier is always safer. Use www.dticket.railway.co.th or 12go.asia.

Is the overnight train to Chiang Mai safe?

Yes, train travel on the State Railway of Thailand is generally considered safe. Keep valuables in a small bag close to you while sleeping and use the luggage storage hooks provided. Sleeper curtains give privacy but not lock-and-key security. Most travellers on this route are tourists and domestic travellers — petty theft is uncommon but basic precautions apply.

Is the 2nd Class AC sleeper comfortable enough for a full night’s sleep?

For most people, yes. The berths are roughly 60–70 cm wide and long enough for travellers up to around 185 cm. The mattress is thin but functional, and the air-conditioning keeps temperatures comfortable. Earplugs help with noise at station stops. The newer Chinese-built carriages on Special Express No. 9/10 offer noticeably better comfort than older rolling stock.

How does the total cost of the train compare to flying when you include everything?

A 2nd Class AC sleeper runs 850–1,100 THB with no hidden extras. A budget flight starts around 800–1,500 THB but add checked baggage (400–600 THB extra on most low-cost carriers), airport transfers on both ends (roughly 200–400 THB combined), and the train often comes out cheaper — while also saving one night’s accommodation cost.


📷 Featured image by Nopparuj Lamaikul on Unsplash.

Accessibility Menu (CTRL+U)

EN
English (USA)
Accessibility Profiles
i
XL Oversized Widget
Widget Position
Hide Widget (30s)
Powered by PageDr.com