The bus, owned by OA Transport and driven by Kajonwit Srisongkram, 35, from Trang, smashed through the roadside crash barrier and plunged down the hillside while on its way down the hill towards Chalong.
Mr Kajonwit was not injured but two women and one man among the passengers were thrown out of the bus and died.
Six ambulances attended the scene of the crash. The injured, 15 of them, were taken to Vachira Phuket Hospital.
Chalong Police have asked motorists to avoid the area.