How to get from Chiang Mai to Koh Samui
The largest island of the Gulf, Koh Samui sits 1,440 km south of Chiang Mai and until recently there has not been a direct link between the two. Currently though your travel options are not limited to connecting flights, train or bus journeys via Bangkok. A direct flight takes less than 2 hours though does not come cheap at about THB6,000 and up one-way. If you travel overland, either by bus, train or a combination of the two plus ferry, the journey will take you full 24 hours+ but can cost as low as THB1,500.
Direct flights from Chiang Mai to Koh Samui
The only airline which operates direct flights from Chiang Mai to Koh Samui International airport is Bangkok Airways. There are two flights daily, one in the morning at 9am and the second one in the afternoon at 12.45pm. Flight time is one hour 45 minutes only, but note that you will need to book well in advance to get the lowest rate of THB6,000, all inclusive. If not, expect to shell out about THB9,000 per pax.
Connecting flights from Chiang Mai to Koh Samui via Bangkok
You have much more options if you fly via Bangkok. Chiang Mai–Bangkok route is served by over 3 dozens daily flights with departures all day long from 7am till 10pm. Low cost airlines like Thai Lion Air and Nok Air often offer tickets from THB1,000 but even Thai Airways do not come much more expensive with tickets priced at THB1,500. Flight time to Bangkok is approximately 1 hour 15 minutes.
Direct flights from Bangkok to Koh Samui are again operated by Bangkok Airways from Suvarnabhumi airport (from THB4,300; 1 hour 5 minutes) and there are between 10 and 12 daily departures. Budget airlines fly from Don Mueang Airport and often offer very competitive flight-and-ferry deals (from THB1,500) with total travel time about 6 hours.
You can always combine a flight from Chiang Mai to Bangkok with a joint bus&ferry ticket from Bangkok to Koh Samui.
From Chiang Mai to Koh Samui overland
Overland travel from Chiang Mai to Koh Samui requires a compulsory stop in Bangkok, no matter whether you are travelling by bus or by train. There are basically 2 best options to do it.
By train and ferryA train journey from Chiang Mai to Bangkok takes between 10 and 14 hours with 9 departures to choose from and can cost you anywhere between THB600 and THB1,800 depending on the type of the seat/berth you want to travel.
In Bangkok, trains arrive to Hua Lamphong train station where you can immediately change onto an onward train down south to Suratthani (9–12 hours; priced similarly).
After your arrival to Suratthani, the most sensible thing to do is to buy a joint bus-and-ferry ticket to Koh Samui. Songserm, Raja Ferry or Phantip Travel all serve this route (3–4 hours; THB300-THB500).
By bus and ferrySimilarly to a train journey, you can first get to Bangkok from Chiang Mai by bus (11 hours, from THB500, numerous departures from Arcade bus station) but note that buses from the north in majority of cases bring you to the Northern Bus Terminal in Bangkok, Morchit.
Onward southbound buses to Suratthani and Donsak depart from the Southern Bus Terminal, Sai Tai Mai, so you will have to travel between the two – the transfer should take about an hour. The same refers to numerous joint bus-and-ferry tickets offered by a number of operators – from Lomprayah with their office close to Khao San Road to Songserm or Krungsiam Tours that depart from near Ratchadamnoen Avenue in the centre. These joint trips to Koh Samui normally can take up to 17 hours and cost from THB900 to THB1,300.
Taking into consideration the length of the trip and the cost of tickets we feel that flying from Chiang Mai to Bangkok’s Don Mueang Airport followed by another flight to Suratthani airport and a ride-and-ferry ticket would be the most reasonable way to travel.
The overland travel, though slightly cheaper, is too time consuming and tiresome so is not really recommended if you are not planning stops in between.
Flying direct with Bangkok Airways is always the best, fastest and most convenient option though most expensive, too.