Quick Take
- Bangkok to Chiang Mai: Flight (1 hr, advance fares from ฿700) or overnight sleeper train (฿700 to ฿1,600 second class). Private transfer is not practical at 700 km.
- Bangkok to Phuket: Flight wins on time (1.5 hrs, ฿700 to ฿2,000). Road is 12+ hours. There is no viable alternative.
- Bangkok to Hua Hin: Private transfer is the clear choice (2.5 to 3 hrs, ฿2,500 to ฿4,000). No competitive flight. No direct, convenient rail.
- Chiang Mai regional routes (Pai, Chiang Rai): Private transfer only. No rail network serves these areas.
- Koh Samui access: Flight via Bangkok Airways (฿2,500 to ฿5,000 one-way, monopoly pricing) or ferry via Surat Thani for around ฿900 to ฿1,200, which adds 4 to 6 hours.
- The most common mistake: Booking a private transfer for a long-haul route like Bangkok to Phuket when a ฿1,200 flight exists and saves you a full day.
Transport decisions in Thailand are not primarily a budget question. They are logistics questions: what does each option actually cost your itinerary in terms of time, scheduling risk, and ground complexity? Get that wrong, and the cheapest ticket on paper becomes the most expensive choice in practice.
Two mistakes appear consistently in real itineraries. A traveller books a private transfer from Bangkok to Phuket to avoid the airport and spends 12 hours on the road instead of 1.5 hours in the air. A traveller flies into Suvarnabhumi and has a connecting domestic flight from Don Mueang the same afternoon, two airports 50 km apart in Bangkok traffic, and misses it. Both come from planning around headline cost instead of full route logic.
The right choice is route-specific. Here is how to think through it.
The Direct Answer
Thailand's three practical options for intercity travel are domestic flights, trains, and private road transfers. Each has a specific use case.
Flights are the right choice for routes over 500 km between cities with convenient airports, particularly when your total trip time is short. Trains work well on overnight legs, where a flexible schedule lets you eliminate a hotel night. Private transfers are the correct tool for shorter regional routes, airport connections to remote resorts, and destinations that the rail network and flight paths do not serve.
No single option is correct across all routes.
The Geography Problem Most Travellers Underestimate
Thailand is longer than it looks on a map.
Moving from the northern mountains to the southern islands in one trip covers a serious distance, roughly 1,500 km north to south, comparable to London to Rome. The transport decisions for each leg look completely different, which is why a single blanket approach fails most itineraries.
This creates three distinct travel zones. Understanding which zone your destinations fall into is the first step, before comparing prices or journey times.
The northern zone centres on Chiang Mai. The rail connects to Bangkok but not to the surrounding towns. Road is the only option for day trips to hill areas or towns like Pai and Chiang Rai. If your itinerary includes northern Thailand, private transfers will form part of the plan regardless of how you arrive. For a full picture of what the north entails logistically, Thailand's travel regions are worth reading before you plan any routes.
The central corridor follows the Bangkok spine. Train connections here are the most reliable in the country. Destinations like Hua Hin, Ayutthaya, and Kanchanaburi sit close enough to Bangkok that short road transfers often make more sense than coordinating flights.
The southern zone splits into two coasts: the Gulf (Koh Samui, Koh Phangan, Koh Tao) and the Andaman (Phuket, Krabi, Koh Lanta). Both require a flight or a long train journey from Bangkok, followed by a ferry to any island. There is no high-speed rail anywhere in Thailand. This removes the middle option that many travellers expect. You are choosing between flying or slow ground travel, not a fast train as a third alternative.
Domestic Flights: Where They Earn Their Cost

Flights are the fastest way to move between Thailand's major cities. On routes over 500 km, they are usually the only practical option.
The headline journey time of one to one and a half hours is accurate. The total door-to-door time is not.
Bangkok operates two airports. Suvarnabhumi (BKK) handles Thai Airways, Bangkok Airways, and some budget carriers. Don Mueang (DMK) handles AirAsia, Nok Air, and Thai Lion Air. The airports are 50 km apart. Allow 60 to 90 minutes to transfer between them if connecting through Bangkok, and confirm which airport your ticket is departing from before booking anything else. This single detail causes more itinerary failures than any other transport issue in Thailand.
For the major routes, advance fares from budget carriers:
- Bangkok to Chiang Mai: ฿700 to ฿1,500
- Bangkok to Phuket: ฿700 to ฿2,000
- Bangkok to Krabi: ฿900 to ฿2,200
- Bangkok to Koh Samui: ฿2,500 to ฿5,000 (Bangkok Airways only, the airline built and operates Samui Airport privately, which gives them full pricing control on this route)
Low-cost carriers charge for checked baggage separately. On a ฿900 base fare, two checked bags can add ฿600 to ฿1,200. Calculate the actual total before comparing against train or road options.
Trains: The Overnight Logic

Thailand's State Railway network covers around 4,500 km, connecting Bangkok northward to Chiang Mai and southward toward the Malaysian border. There is no high-speed service. Trains move slowly. The overnight Bangkok-to-Chiang Mai journey covers 692 km in 13 hours.
That pace is not a reason to dismiss trains. It is a reason to use them correctly.
The overnight sleeper is the train's clearest value. A second-class lower berth on the Bangkok to Chiang Mai route costs ฿700 to ฿1,600, includes bedding, and arrives in the morning. You eliminate a hotel night and the airport transfer from each end. For a traveller on a flexible schedule, that is a more efficient trade than it first appears.
Train classes:
- First class: Air-conditioned private or semi-private cabins. Available on night trains only. Limited availability; book well in advance.
- Second class: Soft seats or sleeper berths with air conditioning. The standard choice. Lower berths cost around ฿100 more and are noticeably wider.
- Third class: Hard seats, no air conditioning, the cheapest option. Suited for short daytime journeys only.
Tickets sell out on weekends and throughout peak season (November to February). Book through the State Railway of Thailand website, 12Go Asia, or directly at the station, three to five days in advance outside peak periods.
The train network does not reach any of Thailand's islands. From Surat Thani, a ferry to Koh Samui takes around 1.5 hours. To Koh Phangan, roughly two hours. To Koh Tao, around 2.5 hours. Factor these in to your total travel time before comparing with a direct flight.
Private Transfers: The Right Tool for the Right Route

A private transfer is a pre-booked vehicle with a driver, door-to-door. It is not a luxury option by default; it is the correct logistical tool in specific situations and a poor match for other routes.
Where private transfers make sense:
- Airport to a resort outside the rail network or public transport coverage
- Chiang Mai regional routes: Chiang Rai (฿3,000 to ฿4,500), Pai (฿2,500 to ฿3,500), Mae Hong Son
- Bangkok to Hua Hin (฿2,500 to ฿4,000, 2.5 to 3 hrs), no competitive flight, no convenient direct rail
- Families with luggage and young children who cannot manage multiple connections
- Early departures or late arrivals where schedule certainty matters
- Groups of three or four, where the per-person cost of a private transfer often matches individual flight tickets once airport transfers on both ends are included
Where private transfers do not make sense:
The road from Bangkok to Phuket covers over 900 km and takes 12 or more hours. A domestic flight takes 1.5 hours and costs ฿700 to ฿2,000. The same logic applies to the Bangkok-to-Chiang Mai and Bangkok-to-Krabi routes. On these routes, booking a private transfer is ill-suited to the distance.
Route Comparison Table
| Route | Best Option | Journey Time | Approx. Cost (THB) | Notes |
|---|---|---|---|---|
| Bangkok to Chiang Mai | Flight or overnight train | 1 hr / 13 hrs | ฿700 to ฿1,500 / ฿700 to ฿1,600 | Train saves a hotel night |
| Bangkok to Phuket | Flight | 1.5 hrs | ฿700 to ฿2,000 | Road is 12+ hrs, not viable |
| Bangkok to Hua Hin | Private transfer | 2.5 to 3 hrs | ฿2,500 to ฿4,000 | No competitive flight or convenient direct rail |
| Bangkok to Krabi | Flight | 1.5 hrs | ฿900 to ฿2,200 | Train to Surat Thani plus transfer is possible, but long |
| Bangkok to Koh Samui | Flight (Bangkok Airways) | 1 hr | ฿2,500 to ฿5,000 | Monopoly pricing; ferry via Surat Thani saves money, adds time |
| Chiang Mai to Chiang Rai | Private transfer | 2.5 to 3 hrs | ฿3,000 to ฿4,500 | No rail; scenic road |
| Chiang Mai to Pai | Private transfer | 2 to 2.5 hrs | ฿2,500 to ฿3,500 | Mountain road; 762 bends |
| Airport to central Bangkok | ARL train or Grab | 30 to 45 mins | ฿45 to ฿650 | Solo: train. Group or late arrival: Grab or private |
What Most Itineraries Get Wrong
The two-airport problem is consistently underestimated. Booking an inbound flight into Suvarnabhumi and an onward domestic flight from Don Mueang the same day is a 90-minute transfer in average Bangkok traffic. During peak hours, it runs longer. If your international arrival is delayed by 45 minutes, the connection becomes tight. Build a minimum of four hours between a Suvarnabhumi arrival and a Don Mueang departure, or reroute both legs onto the same airport.
Island access is never as direct as the flight booking suggests. Every major island in Thailand requires a ferry after you land or disembark from a train. Koh Phangan, Koh Tao, and Koh Lanta are not directly accessible from any airport. Ferry schedules are fixed. If your flight lands at 6 pm and the last ferry to Koh Tao departs at 3 pm, you are spending the night on the mainland. Check ferry departure times before booking flights.
The overnight train saves more than a hotel night. It also removes the airport transfer from your evening and the ground transfer from your morning. On the Bangkok to Chiang Mai route, a traveller who takes the overnight train avoids two taxi or Grab rides (฿300 to ฿600 each) and a night's accommodation while arriving rested at a reasonable hour. That changes the cost comparison considerably.
Southern Thailand transfers accumulate. A trip from Bangkok to Koh Lanta involves a flight to Krabi, a transfer to the ferry pier, and a ferry. Each leg carries its own timing risk and cost. Plan the full sequence before booking the first leg. A two-week Thailand itinerary shows how these legs fit together realistically for a route that covers both the north and south.
Who This Is Not For
Trains are not suited for: Travellers with fixed arrival times or tight connection windows. Anyone in peak season without advance bookings. Destinations outside the rail network, which include most of southern island Thailand and all regional routes from Chiang Mai.
Private transfers are not suited for: Long-haul routes over 500 km where a flight exists. Solo travellers focused on minimising transport costs. Anyone who has not confirmed the pickup point, vehicle type, and drop-off address before travel, particularly for remote resorts or early departures.
Budget domestic flights are not suited for: Travellers with large checked bags on low-cost carriers who have not calculated baggage fees into the total. Anyone booking Bangkok Airways routes should expect competitive pricing. Travellers are making same-day connections between two Bangkok airports without sufficient buffer time.
A Practical Planning Framework
Structure the decision around two questions: how far is the route, and is the destination directly served?
Under 300 km with no convenient airport or direct rail: Private transfer.
Over 500 km between two cities with airports: Flight. Check both Bangkok airports. Calculate door-to-door time, not just air time.
Overnight leg with flexible schedule and no hard arrival time: Overnight train, second-class sleeper.
Any island destination: Fly or train to the nearest mainland hub, then ferry. Build a buffer for the last ferry of the day.
Groups of three or more on a regional route: Run the private transfer cost against individual tickets plus airport transfers on both ends. The gap between options narrows more than most travellers expect.
Frequently Asked Questions
Is it cheaper to fly or take the train from Bangkok to Chiang Mai?
Flights and trains cost roughly the same when booked in advance. Budget flights start at ฿700 one-way; a second-class sleeper train runs from ฿700 to ฿1,600. The train eliminates a hotel night if you travel overnight and arrive in the morning. The flight saves around 12 hours of travel time. If your schedule is fixed, fly. If flexibility exists and reducing accommodation costs matters, the overnight sleeper is the more efficient trade for most itineraries.
Are private transfers in Thailand worth the cost?
On the right routes, yes. Transfers in the ฿2,500 to ฿5,000 range make clear sense when no competitive flight or convenient rail alternative exists, when travelling in a group, or when timing is critical. For routes where a ฿1,000 flight exists, a 12-hour road transfer is not the better option, regardless of how the cost is framed.
Why are flights to Koh Samui so expensive?
Bangkok Airways built and operates Samui Airport, which gives it pricing control on the route. One-way fares from Bangkok typically run ฿2,500 to ฿5,000. The alternative is a bus or train to Surat Thani, followed by a ferry, costing around ฿900 to ฿1,200 total but adding four to six hours. Which option suits you depends on how much that time costs relative to the fare difference in your specific itinerary.
Do trains in Thailand run to the islands?
No. The rail network does not reach any major island. Trains connect to mainland hubs: Surat Thani for the Gulf islands (Koh Samui, Koh Phangan, Koh Tao) and Trang or Phun Phin for connections toward Koh Lanta. Ferry transfers from these hubs add one to three hours, depending on the island and the service.
What is the fastest way to get from Bangkok to Phuket?
A domestic flight. Air time is approximately 1.5 hours; door-to-door runs closer to four to five hours once airport transfers and check-in are included. The road distance from Bangkok exceeds 900 km, making a private transfer a poor match for this route. Advance fares on budget carriers typically range from ฿700 to ฿2,000 one-way.
Further Planning
Transport decisions in Thailand are straightforward once the route is clear. Most mistakes come from treating every leg the same when each one requires a different approach.
If your route is not yet fixed, start with regions and overall structure before locking in any transport decisions.
- Thailand Travel Regions: How to Choose the Right Areas: Understand the zones before building your transport plan
- Thailand 2-Week Itinerary: Best Route for 14 Days 2026: see how the north and south legs sequence in practice
- Best Places to Visit in Thailand: 2026 Guide: useful if you are still finalising which destinations to include
For train schedules and fares: State Railway of Thailand. Tickets can also be booked through 12Go Asia.