Bangkok to Chiang Mai: Train, Bus, Flight, and Overnight Options

· 4 min read Practical
Overnight train running through countryside between Bangkok and Chiang Mai, Thailand

Overview

Bangkok to Chiang Mai is 750km north through central Thailand. It is the most-travelled domestic route in the country, served by three practical options: train, bus, and flight. Each makes sense for different budgets and itineraries.

Overnight train

The most recommended option for most travellers, particularly on a first trip to Thailand. The overnight train covers the route while you sleep — you don’t lose travel time from your itinerary, you arrive rested, and the train is significantly more comfortable than the overnight bus.

Route: Bangkok to Chiang Mai. Trains depart from Bangkok’s Bang Sue Grand Station (the new main station, open 2021, MRT accessible) and the original Hua Lamphong station. Arrives Chiang Mai Station, 2.5km from the Old City.

Classes:

  • Second class sleeper (upper berth): ฿700–850. Bunk that folds down from a seat, curtains for privacy. Upper berth is slightly cheaper. Adequate.
  • Second class sleeper (lower berth): ฿850–1,000. The standard choice. Lower berths convert to full-length bunks with bedding included.
  • First class sleeper: ฿1,300–1,600. Private two-berth cabin, air-conditioned. More comfortable than most comparable train journeys in Southeast Asia; worth the upgrade for couples.
  • VIP private cabin (Train 9/10): ฿2,200–2,800. A private compartment for one or two passengers. The most comfortable overnight train option in Thailand.

Key trains:

  • Train 9 (Sprinter, 9pm departure from Bangkok): 11.5 hours. First class cabins available.
  • Train 13 (8pm departure): Second class sleepers. 13-hour journey.
  • Train 51 (6:10pm departure from Bang Sue): Express with second class sleeper, 12 hours.

Booking: Through the State Railway of Thailand website (railway.co.th) or 12go.asia. Book 1–2 weeks ahead for first class; second class berths sell out 3–5 days ahead on popular dates (Friday nights, long weekends).

Delays: The overnight train runs 30–90 minutes late with some regularity. Arriving at 9am instead of 7:30am is common. Not a significant problem if you’re not catching an onward connection.

Overnight bus

The cheapest option but generally less comfortable than the overnight train. The bus can be fast (10–11 hours on good nights) or slow (13+ hours in holiday traffic or roadworks).

Departure points:

  • Mo Chit Bus Terminal (Northern Terminal): The official departure point, 5km north of the city. MRT to Mo Chit, then 10-minute walk or taxi to the terminal. Most long-distance bus companies depart from here.
  • Khao San Road operators: Private bus companies offering door-to-door service for backpackers. Slightly more expensive (฿550–750) but convenient if staying near Khao San. Quality varies widely between operators.

Bus types:

  • Standard VIP (24–32 seats): ฿450–600. Reclining seats, sometimes curtained. Air conditioning. The standard overnight option.
  • Super VIP (20 seats): ฿700–900. More legroom, fully reclining seats. Closer to a lie-flat experience.
  • Gold tier (16–18 seats): ฿1,000–1,400. Available through private operators. Larger seats, meals included.

Arrive at: Chiang Mai Arcade Bus Terminal (3km east of the Old City). Songthaew to the city: ฿30–40.

Domestic flight

The fastest option at 1 hour 15 minutes of flying time, and the most practical for those with limited time or who prioritise arrival over experience.

Airlines: AirAsia, Thai AirAsia X, Nok Air, Thai Smile, Thai Airways. All serve Suvarnabhumi (BKK) or Don Mueang (DMK) to Chiang Mai Airport (CNX).

Costs: ฿900–1,800 at normal booking (2–4 weeks ahead). Sales and flash promotions bring prices to ฿500–700 but require flexibility. Full-service Thai Airways: ฿2,500–4,500 with baggage included.

Total journey time with transfers: Budget 4–5 hours door-to-door from central Bangkok to central Chiang Mai. Suvarnabhumi is 45–60 minutes from the city centre; Don Mueang is 45 minutes. Chiang Mai Airport is 5km from the Old City (Grab: ฿120–180).

Which airport from Bangkok:

  • Don Mueang (DMK): AirAsia, Nok Air low-cost services. Further from the city but served by the A1 bus (฿30) and a taxi for ฿250–350 with meter.
  • Suvarnabhumi (BKK): Thai Smile, Thai Airways, some AirAsia routes. Better connected to central Bangkok by Airport Rail Link (฿45, 30 minutes).

Day train and day bus

Both exist but are rarely recommended over the overnight options:

  • Day trains depart around 7–9am, arrive 8–10pm. You see the Thai countryside, which is pleasant. You lose a full day of travel.
  • Day bus (6–8 hours in theory): Subject to Bangkok traffic, particularly leaving the city. Rarely faster than 9–10 hours in practice.

Comparing options

OptionCostJourney timeBest for
Overnight train (2nd class)฿700–1,00011–13 hoursComfort, experience, saving a night’s accommodation
Overnight VIP bus฿450–70010–13 hoursBudget, flexibility
Flight฿900–1,8001h15m (+ transfers)Speed, limited time
First class sleeper฿1,300–1,60011–12 hoursComfort without full cabin price

Practical notes

  • Booking ahead: The overnight train books out fastest — reserve 1–2 weeks before travel for weekend and holiday departures.
  • Luggage: No weight limit on the train. Bus has informal limits (large bags go underneath). Flights have checked baggage additional fees on budget carriers — check when booking.
  • Arriving in Chiang Mai: Train station is 2.5km east of the Old City (red songthaew ฿30–40 to the moat, Grab ฿80–120). Bus terminal is 3km east (songthaew ฿30–40). Airport is 5km south (Grab ฿120–180).

See also: Chiang Mai travel guide and Bangkok travel guide.

Frequently Asked Questions

What is the cheapest way to get from Bangkok to Chiang Mai?
The VIP overnight bus from Mo Chit bus terminal or Khao San Road operators: ฿450–700 (12 hours). The overnight train (second class sleeper) costs ฿700–900 for a lower berth and is consistently more comfortable and reliable than the bus. Budget airlines (AirAsia, Nok Air) have sales from ฿500 one-way, typically ฿900–1,500 at normal prices.
How long does it take to get from Bangkok to Chiang Mai by train?
11–13 hours on the overnight train (departs Bangkok Hua Lamphong or Bang Sue Grand Station around 6pm, arrives Chiang Mai 7–8am). The route covers 750km through central and northern Thailand. Day trains exist but the overnight train is more practical — you travel while you sleep and don't lose a day.