Get into Chiang Mai
Chiang Mai International Airport (CNX) handles both domestic and regional international flights. The route from Bangkok is one of the busiest in the country. Thai Airways flies daily almost every hour, with additional flights in the peak tourist season. There are currently (Sep, 2016) 15 different airlines that fly into and out of CNX (with a 16th, Thai Viet Jet beginning operations later in Sept, 2016), including:
- Air Asia  A well-known Asian low-cost airline, has domestic flights from/to Bangkok (Don Mueang airport), Phuket, Krabi, Hat Yai. Used to be the cheapest option if you booked at least a week before, but now it's true only during the best promotional offers (typically available months before the flight). Regular fare for tickets to Bangkok, including taxes, is from 1,400 baht (with fees for luggage, food, seat reservation easily adding almost half of that). Promotional fares can be much less. Prices can be significantly higher if you book just a few days before, or want a specific day/flight
- Bangkok Airways  A full-service carrier positioning itself as an "Asia's boutique airline", flies to from/to Ko Samui, Bangkok (Suvarnabhumi), Krabi, Phuket and Udon Thani. Surprisingly, Bangkok Airways can be cheaper than the budget airlines, particularly if you book just a few days ahead. From 1,390 baht to Bangkok.
- Kan Air . Kan Air flies to and from from Chiang Mai to Chiang Rai, Khon Kaen, Pai, Mae Hong Son, Nan, Phitsanulok, Ubon Ratchathani, Pattaya (U-Tapao), and Phuket. They also can be hired (for a premium) for charter flights to other airports, such as Mae Sariang. Note: as of 03 April 2017 Kan Air was grounded from all except their Pai and Mae Hong Son flights. There is no information about when flights to other airports will resume.
- Nok Air  Thai (semi-) low-cost carrier, flies from/to Bangkok's Don Mueang Airport more than 10 times a day (typically from 1,500 baht. Promo fares can be as low as 800-900 baht). They also fly from/to Udon Thani three times a day, the price is 1,000-2,000 baht (2014) and while it's still more expensive than a bus, it's much cheaper than the price of the Lao Airlines flight to Vientiane, which is easily accessible from Udon Thani. When buying a Nok Air ticket online, always check the extra baggage fee, which can be confusing when travelling first time with Nok, you get 15 Kilo for free, Unlike Air Asia, you pay for all checked baggage after selecting flight. Just simply uncheck the extra baggage and insurance fee to save a waste of money.
- Thai Airways  - from/to Bangkok (Suvarnabhumi Airport only, from 2,500 baht and up, but sometimes there are promo fares as low as 1,500) and Mae Hong Son; in addition, flights from and/or to Phuket & possibly Nan may also be available seasonally.
- Thai Lion Air  A subsidiary of the leading Singaporean low-cost carrier, Lion Air, started operations in Thailand in December 2013, and offers attractive fares to Bangkok Don Mueang airport (starting from 820 baht, including snacks and 15 kg check-in baggage) with several flights a day and numerous onward destinations available from Bangkok. THai Lion Air have a new fleet as of February 2015.
- Thai Smile  A low cost subsidiary of Thai Airways flies to/from CNX from both BKK and DMK.
- There are many more airlines and code-sharing with airlines which connect through BKK or DMK to CNX. Book ahead, and use apps for up-to-date pricing. Depending upon time-of-day it can cost from 500-1,500 THB (or more for first class) for the Bangkok-Chiang Mai run. Nearly the same price, more comfortable, much faster, and usually safer than a bus or a train.
Note that nearly all of these airlines have mobile apps that make it easy to check prices, buy, and check in ahead of time.
- Air Asia flies from/to Kuala Lumpur, Hong Kong, Macau, and Hangzhou, China
- Air China  from/to Beijing, China, and Wuhan, China
- Bangkok Airways  from/to Yangon, Myanmar, and Mandalay, Myanmar
- Cathay Dragon 
- China Eastern Airlines  from/to Kunming, China and Shanghai, China
- China Southern Airline  from/to Guangzhou, China
- Hong Kong Express  from/to Hong Kong
- Juneyao Airlines  from/to Shanghai, China
- Korean Airlines  - Four flights weekly from Seoul/Incheon
- Lao Airlines  - from/to Luang Prabang in (Laos), from there the flight continues onward to Vientiane
- Shandong Airlines  - from/to Chongqing, China
- Sichuan Airlines  - from/to Chengdu, China
- Silk Air  - from/to Singapore
- Spring Airlines  from/to Shanghai, China
- Tigerair  - from/to Singapore
Transit into the city
The airport is some 3 km southwest of the city center, only 10-15 minutes away by car. Legal airport taxis charge a flat 160 baht for up to 5 passengers anywhere in the city, except the Arcade Bus Terminal, which costs 200 baht; if you take a metered taxi, the fee will start from 40 baht + a 50 baht service fee from the Meter Taxi counter. The taxis operate from the exit at the north end of the terminal, after baggage claim and/or customs, walk into the reception hall and turn left.
There are public buses, even though the information counter in the airport will tell you there are not (and of course all taxi/tuktuk drivers will support this claim) and you have to take the 40 baht shuttle. If you want to wait for the infrequent bus, go outside of the airport terminal turn left and walk for 100 meters until you see the bus stop. We took bus number 9 (runs from 5:30 am) to town for only 20 baht. Have your hotel address at hand or even better a map (aka a screenshot) where the hotel is clearly marked and show it to the bus attendant. They will tell you if it's on their route. (September 2016) Alternatively, take bus #4 to the city center for 15 baht, or charter a tuk-tuk or songthaew for 50-60 baht per person. Most hotels and some upmarket guesthouses offer cheap or free pick-up/drop-off services. Note that the public bus system is generally not used by many people, and has few buses operating. It is also one of the ugliest buses around and has few markings for what it is. Frankly there are so many transportation options already operating that run at reasonable cost, that a local city bus, while it might seem reasonable and appropriate to people from the west, is really not a great option (no timetable, and unclear how long one has to wait most of the time).
160 baht is the current rate for a taxi to central Chiang Mai. If you are alone outside the airport grounds, you might get asked by a police officer asking if you are lost, just say you are getting a public bus to Chiang Mai. They will tell you its very far, when it is not. Just wait for a grey bus to pull over. Always go to a public bus stop outside the airport. Stop getting the chance of getting fined by police for Jaywalking. The other option is if you are alone travelling, just start talking to people in the plane and offer to share the taxi fare to Chiang Mai, as the price for the taxi is generally the same for a carload as for one person.
If you arrive after midnight, catching a songthaew will be a problem. There will not be any around. If you are lucky, one may pull up after dropping off passengers. It is better to get people from your same flight to share a taxi into town.
Uber and Grab Taxi are viable alternatives, especially the fixed price Uber (Grab are known to demand a larger fixed price, refuse to use the meter, and refuse passengers if they do not agree, the old Taxi scams are alive and well.)
Chiang Mai has two official bus stations, consisting of 3 terminals:
- Arcade Bus Station (Bus Terminals 2 and 3, Tel. +66 53 242664) — At the far end of Kaeo Narawat Rd just before it meets the superhighway. Buses from and to destinations outside Chiang Mai Province use this station. It effectively has two terminals, separated by a tuk-tuk stand and a road.
Terminal 3 is the larger of the two. It has an Internet cafe, small food vendors, ATMs, the ticket windows for Green Bus (cannot book online, but the schedules are) , which serves Chiang Mai province and the rest of Thailand with more comfortable but more expensive seats that the local buses (at Chang Puak Bus Station, see below), and numerous other ticket sellers. Buses for Bangkok, Phitsanulok, Ubon, Korat, Nan, Luang Prabang, Mae Sot depart from here.
Terminal 2 has a tourist police office, ATMs, food vendors, and many ticket sellers, including the booking office for government buses. Buses depart from here for Bangkok, Phitsanulok, Udon. There seems to be no rhyme or reason as to what buses go to which destination from which terminal. There is a good deal of overlap.
- Chang Puak Bus Station (Bus Terminal 1, Tel. +66 53 211586) — Off Chang Phuak Rd, on the north side of the moat, about 1 km north of Chang Puak Gate. This station handles local bus service within Chiang Mai Province including Mae Rim, Chiang Dao, Fang, Tha Ton, Phrao, Hot, Chom Thong, Doi Tao, and Samoeng.
A variety of daily buses leave frequently from Bangkok's Northern Bus Terminal (Mo Chit), offering varying choices of price, comfort and speed.
- Rattling government buses make frequent stops at every minor township. The journey takes around 12 hrs and costs 400 to 800 Baht (express is more expensive).
- Non-stop 24/32-seaters and 1st class buses such as Nakhon Chai Air provide larger seats and snacks; making the long trip more comfortable. They manage the trip around 9 hours and cost around 800 baht. Be cautious about the so-called "VIP" buses touted on Khao San Rd. They may be cheaper, but you may end up crammed into a 2nd class bus or worse. Reliable VIP buses like Sombat tour, New Viriya, Bangkok Busline with reclining seats can be booked online in advance, as well as through third party travel agents.
At Arcade Bus Station, upon arrival, public songthaews wait near Terminal 3, adjacent to the road that bisects the two terminals. Look for local people getting into them, and ask the driver if he goes to your destination (don't forget to confirm the price). A shared trip to Tha Phae Gate (south edge of the old town) should cost 20 baht per person, though you may have to wait for a driver who agrees, and also this level of service means the vehicle will stop along the route to pick up and disembark passengers, as would a local bus service. Virtually all songthaews will pass Warorot Market (city centre, just after crossing the river), from where it's just 1 km walk to Tha Phae Gate, or numerous (see "Get around" section) songthaews to other areas.
Alternatively, you can charter the whole songthaew or take a tuk-tuk. The drivers will approach you once you've arrived and will ask as much as 80-100 baht to the city centre/Tha Phae Gate, showing you a bogus price list with "fixed" prices. Bargain, it's just 5-6 km, so the fair price for tuk-tuk there is 80-100 baht, and is not more than 120 baht even to the opposite side of the city. It may be difficult to bargain with these drivers, however. A good idea is to ignore them from the start, walk out to the nearby street, and catch a passing tuk-tuk/songthaew there. If your luggage is light, you can walk to the centre, but it's quite a long walk, as the Arcade bus station is located in the city's northeast outskirts. There is a small shopping center a block to the east of Arcade Bus Station terminal #3, with coffee shops, restaurants and a decently stocked smaller Rimping market, if you depart from Arcade and still have some time to kill.
Songthaew touts may ask foreign tourists for an outrageous 150 baht per person for a shared ride to town. Challenged, they may drop to 100 baht, but standard fare is 20-30 baht for shared (not privately reserved) transportation at a sedate pace. Similar prices are demanded by tuk-tuk drivers, though those are more expensive to operate. 80-100 THB from Arcade to the moat area is common and not unreasonable, and is faster unless during rush hour. The main point is to be clear on whether you are hiring for a point-to-point transportation, or simply as one or more passengers with stops along the route. The former is faster (sometimes) and better for a group, the latter is per passenger as a charge and may meander a bit. Some drivers will agree to a larger fee, but then stop along the way, anyways. Best to relax and take things as they come.
Services from Bangkok's train station in Hua Lamphong leave on a regular daily schedule  and take 14-16 hours to reach Chiang Mai. If you go by night train (recommended), try to choose one which arrives late to get an opportunity to see the landscapes. They are really impressive, with bridges, forest, villages and fields.
Daytime services leave at 08:30, and 14:30 with second-class (281 baht) and third-class (121 baht) carriages. The seats in each class differ in softness and width and become uncomfortable after 10+ hours.