From Bangkok : the cheapest way is take one of the overnight buses leaves Khaosan Road evening about 18.00 and in the next morning arrives Surathani, then take a boat.Bus and boat combo ticket can be arrange by travel agencies on Khaosan Road for about 700-900 Baht all the way to Koh Phangan.
The nearest airport is Koh- Samui (USM) which has frequent flights from Bangkok (BKK) and Phuket, daily flights from Pattaya (U-Tapao), Singapore. Transortation to the ferry pier is easy to find at the airport. Ferries depart several times a day with the last one around 17.30.The next closest airport on the mainland is Surathani (URT) There are low-cost operators (AirAsia and Thai Airways) Then you’ll need bus + boat travel to get to Ko Pha Ngan, which takes a few hours.
From Phuket to Koh Phangan : The fastest and most convenient ride from Phuket to Koh Phangan is offered by Lomprayah company which sells combination bus + ferry tickets. There are two departures a day: at 10am and at 12.30pm from Phuket Lomprayah office in Bangkok Road in Phuket Town. Passengers go by bus to Suratthani first where they transfer to Lomprayah high-speed ferry at 2.30pm and 4pm respectively, arriving to Thong Sala Pier on Koh Phangan at 5.30pm and 7.30pm. The whole journey thus takes about 7½ hours. Tickets cost THB1400 and should be booked at least two days in advance. Note that you should show up at Lomprayah office at least half an hour before the departure.