Chiang Mai is 750km (470 miles) north of Bangkok. The quickest and most comfortable way of getting there is by air with a journey time of just over an hour. The following airlines all offer services to Chiang Mai:
Travelling by train, the journey time is approximately 13 hours. The recommended option here is to take an overnight sleeper train. In second class compartments, the day seats are converted into comfortable beds. Fare information and timetables can be found at the State Railway of Thailand website.
Travelling by bus to Chiang Mai takes approximately 10 hours. Government buses depart Mo Chit bus terminal in Bangkok every 30 minutes. An alternative would be a reputable private carrier such as Nakonchaiair which offers a VIP service (approx B650). This has the advantage of fewer passengers (usually 34), extra legroom, reclining seats and a hostess service with food included in the price.
The above options are the ones that Thai people themselves would use. Booking a bus tour from Khao San Road will get you to Chiang Mai for a seemingly cheap price in the company of fellow tourists. However, you invariably pay more through the hidden extras which become apparent on arrival. Some (not all) of these services are notorious for theft from luggage. You are also likely to be deposited at a drop-off point outside of Chiang Mai where you will pay through the nose for onward transportation to specific guest houses which may not be one you want to stay at. Considering the ease of the alternative transport options, give this one a miss.