Rome2Rio

How to get fromShanghai to Surabayaby plane or train

Find Transport to Surabaya

See all options

There are 7 ways to get from Shanghai 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 Shanghai Hongqiao International Airport to Juanda International Airport

    best
    1. Fly from Shanghai Hongqiao International Airport (SHA) to Juanda International Airport (SUB)plane plane SHA - SUB
    12h 51m
    Rp 2,420,552–8,081,052
  2. Fly Shanghai Pudong International Airport to Juanda International Airport

    1. Fly from Shanghai Pudong International Airport (PVG) to Juanda International Airport (SUB)plane plane PVG - SUB
    13h 43m
    Rp 3,152,339–9,212,841
  3. Fly Shanghai Pudong International Airport to Abdul Rachman Saleh Airport, train

    1. Fly from Shanghai Pudong International Airport (PVG) to Abdul Rachman Saleh Airport (MLG)plane plane PVG - MLG
    2. Take the train from Lawang to Gubengtrain train
    17h
    Rp 4,877,839–13,572,841
  4. Train to Sunan Shuofang International Airport, fly to Juanda International Airport

    1. Take the train from Shanghai station to Wuxitrain train
    2. Fly from Sunan Shuofang International Airport (WUX) to Juanda International Airport (SUB)plane plane WUX - SUB
    15h 59m
    Rp 3,582,358–10,866,254
  5. Train to Hangzhou Xiaoshan International Airport, fly to Juanda International Airport

    1. Take the train from Shanghai Hongqiao to Hangzhou Easttrain train
    2. Fly from Hangzhou Xiaoshan International Airport (HGH) to Juanda International Airport (SUB)plane plane HGH - SUB
    15h 41m
    Rp 3,106,231–8,945,731
  6. Train to Ningbo Lishe International Airport, fly to Juanda International Airport

    1. Take the train from Shanghai Hongqiao to Ningbotrain train
    2. Fly from Ningbo Lishe International Airport (NGB) to Juanda International Airport (SUB)plane plane NGB - SUB
    16h 47m
    Rp 3,232,231–8,745,731
  7. Fly Shanghai Pudong International Airport to Adisumarmo International Airport, train

    1. Fly from Shanghai Pudong International Airport (PVG) to Adisumarmo International Airport (SOC)plane plane PVG - SOC
    2. Take the train from Solo Balapan to Surabaya Gubengtrain train
    16h 56m
    Rp 3,599,839–9,469,841

Shanghai Hongqiao International Airport (SHA) to Juanda International Airport (SUB) flights

Calendar31Weekly Planes
Duration10h 5mAverage Duration
TicketRp 2,472,843Cheapest Price
See schedules

Questions & Answers

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

China Southern Airlines, China Eastern Airlines, and five other airlines fly from Shanghai Hongqiao International Airport (SHA) to Juanda International Airport (SUB) 4 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 Need to know: Eurostar, Getting to Rome from the airport, and Best ways to travel around Australia - to help you get the most out of your next trip.