Rome2Rio

How to get fromGuangzhou to Surabayaby plane or train

Find Transport to Surabaya

See all options

There are 3 ways to get from Guangzhou to Surabaya by plane or train

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 from Guangzhou Baiyun International Airport

    best
    1. Fly from Guangzhou Baiyun International Airport (CAN) to Juanda International Airport (SUB)plane plane CAN - SUB
    11h 1m
    Rp 3,330,736–6,098,211
  2. Train to Shenzhen Bao'An International Airport, fly

    cheapest
    1. Take the train from Guangzhou South station to Humentrain train
    2. Fly from Shenzhen Bao'An International Airport (SZX) to Juanda International Airport (SUB)plane plane SZX - SUB
    14h 46m
    Rp 2,935,354–8,734,009
  3. Train to Hong Kong International Airport, fly

    1. Take the train from Guangzhou South station to Shenzhen Northtrain train
    2. Fly from Hong Kong International Airport (HKG) to Juanda International Airport (SUB)plane plane HKG - SUB
    11h 49m
    Rp 3,715,354–7,944,009

Guangzhou Baiyun International Airport (CAN) to Juanda International Airport (SUB) flights

Calendar37Weekly Planes
Duration8h 21mAverage Duration
TicketRp 2,260,073Cheapest Price
See schedules

Questions & Answers

What companies run services between Guangzhou, China and Surabaya, Indonesia?

China Southern Airlines, Malindo Airways, and four other airlines fly from Guangzhou Baiyun International Airport (CAN) to Juanda International Airport (SUB) 5 times a day.

Airlines
Train operators

Want to know more about travelling around the world?

Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Getting to Rome from the airport, How to get from Gatwick Airport into central London, and Heading to Europe? Read this before you buy a Eurail Pass - to help you get the most out of your next trip.