Rome2Rio

How to get fromShenzhen to Surabayaby plane or train

Find Transport to Surabaya

See all options

There are 3 ways to get from Shenzhen 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 Hong Kong International Airport

    best
    1. Fly from Hong Kong International Airport (HKG) to Juanda International Airport (SUB)plane plane HKG - SUB
    10h 7m
    Rp 3,405,824–7,191,881
  2. Fly from Shenzhen Bao'An International Airport

    cheapest
    1. Fly from Shenzhen Bao'An International Airport (SZX) to Juanda International Airport (SUB)plane plane SZX - SUB
    12h 40m
    Rp 2,826,657–8,592,488
  3. Train to Guangzhou Baiyun International Airport, fly

    1. Take the train from Shenzhen North to Guangzhou Easttrain train
    2. Fly from Guangzhou Baiyun International Airport (CAN) to Juanda International Airport (SUB)plane plane CAN - SUB
    12h 57m
    Rp 3,504,425–6,401,800

Hong Kong International Airport (HKG) to Juanda International Airport (SUB) flights

Calendar39Weekly Planes
Duration7h 10mAverage Duration
TicketRp 2,321,820Cheapest Price
See schedules

Questions & Answers

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

Greater Bay Airlines, Cathay Pacific, and five other airlines fly from Hong Kong International Airport (HKG) to Juanda International Airport (SUB) every 4 hours.

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 French strikes 2018: What are my alternative transport options?, How do I buy a London Underground ticket?, and What documents do I need to cross Niagara Falls? - to help you get the most out of your next trip.