Rome2Rio

How to get fromJakarta Airport to Surabayaby plane, train, bus, car, or shuttle

Find Transport to Surabaya

See all options

There are 10 ways to get from Jakarta Airport to Surabaya by plane, train, bus, car, 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 Soekarno–Hatta International Airport to Juanda International Airport, train

    best
    1. Fly from Soekarno–Hatta International Airport (CGK) to Juanda International Airport (SUB)plane plane CGK - SUB
    2. Take the train from Waru to Surabaya Gubengtrain train
    4h 19m
    Rp 1,053,867–2,161,164
  2. Bus

    cheapest
    1. Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus bus Jakarta - Surabaya Kota
    12h 2m
    Rp 219,550–1,045,909
  3. Train

    1. Take the train from Jakarta Gambir to Surabaya Pasar Turitrain train Argo Bromo Anggrek / ...
    9h 30m
    Rp 330,542–685,994
  4. Drive 754.8 km

    1. Drive from Jakarta Airport to Surabayacar car 754.8 km
    9h 33m
    Rp 1,474,351–2,129,618
  5. Fly Soekarno–Hatta International Airport to Abdul Rachman Saleh Airport, train

    1. Fly from Soekarno–Hatta International Airport (CGK) to Abdul Rachman Saleh Airport (MLG)plane plane CGK - MLG
    2. Take the train from Lawang to Gubengtrain train
    4h 32m
    Rp 1,417,918–2,220,897
  6. Fly Halim Perdanakusuma Airport to Juanda International Airport, train

    1. Fly from Halim Perdanakusuma Airport (HLP) to Juanda International Airport (SUB)plane plane HLP - SUB
    2. Take the train from Waru to Surabaya Gubengtrain train
    6h 4m
    Rp 1,220,851–2,616,064
  7. Fly Soekarno–Hatta International Airport to Ahmad Yani, train

    1. Fly from Soekarno–Hatta International Airport (CGK) to Ahmad Yani (SRG)plane plane CGK - SRG
    2. Take the train from Semarang Tawang to Surabaya Pasar Turitrain train
    5h 15m
    Rp 1,221,081–2,408,161
  8. Fly Soekarno–Hatta International Airport to Kediri, shuttle

    1. Fly from Soekarno–Hatta International Airport (CGK) to Kediri (DHX)plane plane CGK - DHX
    2. Take a shuttle bus from Nganjuk to Surabayashuttle bus
    4h 2m
  9. Fly Halim Perdanakusuma Airport to Abdul Rachman Saleh Airport, train

    1. Fly from Halim Perdanakusuma Airport (HLP) to Abdul Rachman Saleh Airport (MLG)plane plane HLP - MLG
    2. Take the train from Lawang to Gubengtrain train
    6h 12m
    Rp 1,746,351–7,176,064
  10. Train via Surabaya Gubeng

    1. Take the train from Jakarta Gambir to Surabaya Gubengtrain train Bima
    12h 5m
    Rp 330,542–795,994

Soekarno–Hatta International Airport (CGK) to Juanda International Airport (SUB) flights

Calendar213Weekly Planes
Duration1h 34mAverage Duration
TicketRp 1,008,725Cheapest Price
See schedules

Questions & Answers

What companies run services between Jakarta Airport, Indonesia and Surabaya, Indonesia?

Kereta API operates a train from Jakarta Gambir to Surabaya Pasar Turi 4 times a day. Tickets cost Rp 320,000–440,000 and the journey takes 7h 45m. Alternatively, Damri operates a bus from DAMRI Bus Station Jakarta to Surabaya Kota once daily. Tickets cost Rp 210,000–800,000 and the journey takes 10h.

Airlines
Train operators
Bus 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 10 amazing places to get away from it all in Australia, Travelling by boat in Italy, and 5 incredible day trips from Florence by train - to help you get the most out of your next trip.

More Questions & Answers