Rome2Rio

How to get fromGeneral Santos to Surabayaby plane, bus, train, or shuttle

Find Transport to Surabaya

See all options

There are 8 ways to get from General Santos to Surabaya by plane, bus, train, or shuttle

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Fly General Santos to Juanda International Airport

    best
    1. Fly from General Santos (GES) to Juanda International Airport (SUB)plane plane GES - SUB
    15h 4m
    Rp 3,178,471–10,151,511
  2. Bus to Francisco Bangoy International Airport, fly to Juanda International Airport

    cheapest
    1. Take the bus from General Santos Bulaong Terminal to Davao City Ecoland Bus Terminalbus bus
    2. Fly from Francisco Bangoy International Airport (DVO) to Juanda International Airport (SUB)plane plane DVO - SUB
    18h 15m
    Rp 2,655,880–8,761,109
  3. Fly General Santos to Abdul Rachman Saleh Airport, train

    1. Fly from General Santos (GES) to Abdul Rachman Saleh Airport (MLG)plane plane GES - MLG
    2. Take the train from Lawang to Gubengtrain train
    21h 1m
    Rp 6,703,971–20,511,511
  4. Bus to Francisco Bangoy International Airport, fly to Ahmad Yani, train

    1. Take the bus from General Santos Bulaong Terminal to Davao City Ecoland Bus Terminalbus bus
    2. Fly from Francisco Bangoy International Airport (DVO) to Ahmad Yani (SRG)plane plane DVO - SRG
    3. Take the train from Semarang Tawang to Surabaya Pasar Turitrain train
    20h 51m
    Rp 3,076,380–9,611,109
  5. Bus to Francisco Bangoy International Airport, fly to Abdul Rachman Saleh Airport, train

    1. Take the bus from General Santos Bulaong Terminal to Davao City Ecoland Bus Terminalbus bus
    2. Fly from Francisco Bangoy International Airport (DVO) to Abdul Rachman Saleh Airport (MLG)plane plane DVO - MLG
    3. Take the train from Lawang to Gubengtrain train
    24h 17m
    Rp 4,381,380–13,621,109
  6. Fly General Santos to Kediri, shuttle

    1. Fly from General Santos (GES) to Kediri (DHX)plane plane GES - DHX
    2. Take a shuttle bus from Nganjuk to Surabayashuttle bus
    22h 17m
  7. Bus to Awang Airport, fly to Juanda International Airport

    1. Take the bus from General Santos to Cotabatobus bus
    2. Fly from Awang Airport (CBO) to Juanda International Airport (SUB)plane plane CBO - SUB
    19h 30m
    Rp 4,612,874–12,788,374
  8. Bus to Francisco Bangoy International Airport, fly to Yogyakarta International Airport, train

    1. Take the bus from General Santos Bulaong Terminal to Davao City Ecoland Bus Terminalbus bus
    2. Fly from Francisco Bangoy International Airport (DVO) to Yogyakarta International Airport (YIA)plane plane DVO - YIA
    3. Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain train
    4. Take the train from Yogyakarta to Surabaya Gubengtrain train
    22h 4m
    Rp 3,146,380–9,571,109

General Santos (GES) to Juanda International Airport (SUB) flights

Calendar18Weekly Planes
Duration17h 4mAverage Duration
TicketRp 3,114,329Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between General Santos, Philippines and Surabaya, Indonesia?

Philippine Airlines, Royal Brunei Airlines, and five other airlines fly from General Santos (GES) to Juanda International Airport (SUB) 3 times a day.

Airlines
Train operators
Bus operators

Want to know more about travelling around Indonesia

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides