Rome2Rio

How to get fromPalembang to Surabayaby plane, train, busferry, bus, car, car ferry, or shuttle

Find Transport to Surabaya

See all options

There are 9 ways to get from Palembang to Surabaya by plane, train, busferry, bus, car, car ferry, 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 to Juanda International Airport, train

    best
    1. Fly from Sultan Mahmud Badaruddin II (PLM) to Juanda International Airport (SUB)plane plane PLM - SUB
    2. Take the train from Waru to Surabaya Gubengtrain train
    6h 32m
    Rp 1,418,178–3,178,678
  2. Train, bus and ferry, bus

    cheapest
    1. Take the train from Kertapati to Labuanratutrain train
    2. Take the busferry from Bandar Lampung to DAMRI Bus Station Jakartabusferry bus ferry
    3. Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus bus
    29h 8m
    Rp 507,949–1,399,781
  3. Train, bus and ferry

    1. Take the train from Kertapati to Labuanratutrain train
    2. Take the busferry from Bandar Lampung to Gambir Stationbusferry bus ferry
    3. Take the train from Jakarta Gambir to Surabaya Pasar Turitrain train
    26h 45m
    Rp 617,949–1,039,781
  4. Drive, car ferry

    1. Drive from Palembang to Bakauheni Portcar car
    2. Take the car ferry from Bakauheni Port to Merakcarferry car ferry
    3. Drive from Merak to Surabayacar car
    17h 35m
    Rp 2,373,076–3,853,554
  5. Fly to Abdul Rachman Saleh Airport, train

    1. Fly from Sultan Mahmud Badaruddin II (PLM) to Abdul Rachman Saleh Airport (MLG)plane plane PLM - MLG
    2. Take the train from Lawang to Gubengtrain train
    8h 19m
    Rp 2,243,678–4,038,678
  6. Fly to Kediri, shuttle

    1. Fly from Sultan Mahmud Badaruddin II (PLM) to Kediri (DHX)plane plane PLM - DHX
    2. Take a shuttle bus from Nganjuk to Surabayashuttle bus
    8h 20m
  7. Fly to Ahmad Yani, train

    1. Fly from Sultan Mahmud Badaruddin II (PLM) to Ahmad Yani (SRG)plane plane PLM - SRG
    2. Take the train from Semarang Tawang to Surabaya Pasar Turitrain train
    8h 58m
    Rp 1,638,678–3,828,678
  8. Fly to Adisumarmo International Airport, train

    1. Fly from Sultan Mahmud Badaruddin II (PLM) to Adisumarmo International Airport (SOC)plane plane PLM - SOC
    2. Take the train from Solo Balapan to Surabaya Gubengtrain train
    9h 50m
    Rp 1,565,678–3,835,678
  9. Train, bus and ferry via Bandar Lampung

    1. Take the train from Kertapati to Tanjung Karangtrain train
    2. Take the busferry from Bandar Lampung to Gambir Stationbusferry bus ferry
    3. Take the train from Jakarta Gambir to Surabaya Gubengtrain train
    30h 32m
    Rp 620,850–1,150,569

Sultan Mahmud Badaruddin II (PLM) to Juanda International Airport (SUB) flights

Calendar53Weekly Planes
Duration4h 3mAverage Duration
TicketRp 1,327,269Cheapest Price
See schedules

Questions & Answers

What companies run services between Palembang, Indonesia and Surabaya, Indonesia?

There is no direct connection from Palembang to Surabaya. However, you can take the train to Palembang Airport, walk to Sultan Mahmud Badaruddin II (PLM) airport, fly to Juanda International Airport (SUB), walk to Juanda Surabaya Airport, take the bus to Surabaya Bungurasih Bus Station, walk to Waru, then take the train to Surabaya Gubeng. Alternatively, you can take a train from Kertapati to Surabaya Pasar Turi via Labuanratu, Bandar Lampung, Gambir Station, and Jakarta Gambir in around 26h 45m.

Airlines
Train operators
Bus operators
Ferry 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 Best ways to travel around Australia, The beginner’s guide to the 2018 World Nomad Games, and 4 of the smartest ways to explore Australia - to help you get the most out of your next trip.