โดยรถไฟ
การรถไฟแห่งประเทศไทยมีบริการรถไฟออกจากสถานีรถไฟกรุงเทพ (หัวลำโพง) ไปยังจังหวัดสุราษฎร์ธานีทุกวัน (สถานีรถไฟสุราษฎร์ธานีอยู่ในอำเภอพุนพิน) ทั้งรถธรรมดา รถเร็ว รถด่วน และรถด่วนพิเศษ ใช้เวลาเดินทางประมาณ 9 - 11 ชั่วโมง สามารถซื้อตั๋วไปเกาะพะงัน ซึ่งรวมค่าเรือเฟอร์รีและค่ารถไปท่าเทียบเรือเรียบร้อยแล้ว สอบถามรายละเอียดได้ที่การรถไฟแห่งประเทศไทย โทรศัพท์ 1690 หรือ www.railway.co.th