From Bangkok to Phuket
Donmueang Airport – Phuket Airport (1 hour 25 minutes)
1.Thai Air Asia
2.Thai Lion Air
Suvarnabhumi Airport – Phuket Airport (1 hour 25 minutes)
3.Thai smile airways
Suvarnabhumi Airport – Phuket Airport (1 hour 30 minutes)
1.Thai Vietjet Air
Southern Bus Terminal (Talingchan) – Phuket Bus Terminal 2 (12 hours)
By Train + Bus (12 hours)
Hua Lampong Station to Surat Thani (8 hours)+Bus (5 hours)
If you want to travel by train, the first thing you should know is that there are no Phuket stations. So you should go to Surat Thani Station and take the bus to Phuket. From Bangkok to Surat Thani about 8 hours then take the bus to Phuket about 5 hours.
The advantage is that you can buy train and bus tickets at the same time, then just travel to Phuket.