Thailand links its cities with cheap domestic flights, overnight sleeper trains and VIP coaches — each suiting a different budget and schedule. This guide lays out every option and shows you exactly when to pick which.
The first question on most Thailand trips is "how do I get from Bangkok to Chiang Mai / Phuket / the islands?" The short answer: look at the distance and how much time you have. For long routes when time is tight, a budget flight wins — and booked ahead, a ticket can cost less than the bus. But if you want the experience and would rather not pay for a hotel that night, the overnight sleeper train is the option a lot of travellers end up loving.
Thailand has every mode covered: domestic flights connect almost every major province; the State Railway of Thailand (SRT) runs northern, northeastern and southern lines with air-conditioned sleeper carriages on the long hauls; VIP coaches and buses are frequent and cheap; and ferries and speedboats serve the islands. Within cities it varies — Bangkok has an extensive BTS/MRT network, while Phuket has almost no public transport and you rely on Grab and taxis.
Each has its own strengths, and most travellers end up mixing several across a single trip.
Budget carriers AirAsia, Nok Air and Thai Lion Air, plus the more premium Bangkok Airways (which flies into Samui and Trat), connect almost every major province · book ahead and fares start around THB 800–1,500 · best for long routes or tight schedules · watch the add-on checked-baggage fees.
The State Railway of Thailand runs the northern line (Chiang Mai), the southern line (Surat Thani, Hat Yai) and the northeastern line · long hauls have modern air-conditioned sleeper cars that depart in the evening and arrive at dawn · book on dticket.railway.co.th or 12Go, which accepts foreign cards · the appeal is the scenery and the experience.
Depart from the bus terminals (in Bangkok: Mo Chit, Southern Terminal, Ekkamai) · the 24-seat VIP coaches have wide reclining seats and are more comfortable than you might expect · cheaper than flying or the train · they reach towns with no airport, such as Pai · stick to reputable operators.
Compare routes and prices · foreign cards accepted · instant confirmation
Using the classic Bangkok → Chiang Mai route (~700 km) · prices approximate as of June 2026.
| Factor | ✈️ Flight | 🚄 Sleeper train | 🚌 VIP bus |
|---|---|---|---|
| Travel time | ~1 hr 20 min (in the air) | ~11–13 hrs (overnight) | ~9–11 hrs |
| Approx. price | ~THB 800–1,800 | ~THB 800–1,200 (sleeper) | ~THB 600–800 |
| Saves a night's hotel | ✘ No | ✔ Yes (sleep on board) | ✔ Yes (overnight service) |
| Comfort / sleep | Short sit | ✔ A real bed | Reclining seat, some sleep |
| Views / atmosphere | Above the clouds | ✔ Scenic countryside | Highway views |
| Time buffer at terminal | ~2 hrs + airport transfer | Central station | Some terminals out of centre |
| Best for | Short on time, long route | The experience + saving a night | Tight budget, no airport |
Using the popular Bangkok → Chiang Mai route as the example — it is genuinely straightforward.
Go to dticket.railway.co.th (the official SRT site) or use 12Go, which has an English interface and takes foreign cards → choose your origin, destination and date → look for a Special Express service with air-conditioned sleeper cars, departing early evening and arriving the next morning. Popular sleeper berths sell out fast in high season.
Pick a Second Class air-conditioned sleeper (the popular, best-value choice) or First Class (a private cabin) → the lower berth is wider and has a window, and costs a little more, while the upper berth is cheaper but slightly less convenient to climb in and out of. Enter your name exactly as on your passport, plus your passport number.
Pay by credit or debit card (12Go takes Visa, Mastercard and PayPal) and you receive your ticket by email. Some channels require you to exchange a booking code for the physical ticket at the station counter before boarding, so check the terms when you book. Save the ticket and your seat number on your phone.
Most long-distance trains from Bangkok now leave from Krung Thep Aphiwat Central Terminal (Bang Sue), which connects directly to the MRT Blue Line. Arrive around 30 minutes ahead to find your platform and carriage. Signage is in English; ask a member of staff if you are unsure.
Your car and berth numbers are on the ticket; cars are numbered on the side of the train and signposted on the platform. Board the matching car and stow your bags under the seat or on the overhead rack. The attendant collects tickets and folds out the beds in the evening — during the day the lower berth is two facing seats.
Air-conditioned sleepers have a privacy curtain, a blanket and a reading light. There is a Dining Car serving meals and drinks, or an attendant comes through with a trolley. You wake up close to Chiang Mai — saving both a daytime travel slot and a night's hotel. From there, dive straight into exploring Chiang Mai.
Thai trains have three main classes; the difference comes down to privacy and price.
A private cabin with one or two berths, a lockable door and, on some trains, an in-cabin washbasin — the quietest and most private way to travel. Ideal for couples, families or anyone who wants privacy. The most expensive sleeper option, but still good value once you factor in the saved hotel night.
Bangkok–Chiang Mai about THB 1,200–1,700Berths in two tiers along the aisle, each with a privacy curtain, padded mattress, reading light and a power socket. The lower berth is wider and has a window, so it costs slightly more than the upper. This is the class most travellers choose — comfortable and good value in equal measure.
Bangkok–Chiang Mai about THB 800–1,000Bench or semi-padded seats, fans and windows that open — the cheapest fare by far. Best for short daytime hops such as Bangkok–Ayutthaya, where the journey is brief. You get the full local atmosphere, but it is not suited to long overnight trips.
Bangkok–Ayutthaya about THB 15–40Times and prices approximate as of June 2026 — verify live pricing with the airline or your booking platform before travelling.
The classic route north. Flying is quick; the sleeper train has real charm. On arrival, head straight for Chiang Mai's attractions and an ethical elephant sanctuary.
The way to Koh Samui, Phangan and Tao — take the overnight sleeper, then a morning bus to Donsak Pier and a boat across. Operators usually sell a joint bus-and-boat ticket.
There is no direct train to Phuket, so most people fly — fast, good value and plenty of flights. On arrival, see how to get around Phuket and the best beaches.
A classic day trip. A cheap Third Class train or a minivan both get you there quickly — easy to visit the Ayutthaya Historical Park and be back the same day.
Once you have arrived, here is how to get around town — plus Wherebest's trip-planning guides.
Getting around Bangkok by Skytrain and metro — tickets, lines, boat and Grab connections, and beating the traffic.
BTS/MRT Guide →Phuket has almost no public transport — Grab, taxis, car and scooter rental, and which works out best.
Phuket Transport Guide →From Suvarnabhumi or Don Muang into the city — Airport Rail Link, taxi or private transfer, and the smart choice.
Airport Guide →Cool, hot and rainy seasons by region — and why the Gulf islands flip the monsoon on its head.
Seasonal Guide →Bangkok → Chiang Mai → the coast, with every intercity transport leg planned out for you.
7-Day Itinerary →Andaman vs Gulf — which island suits whom, and how to reach each one.
Islands Guide →Compare routes and prices in one place · foreign cards accepted · instant confirmation. As of June 2026 — always verify live pricing before booking.