Rome2Rio

How to get fromSurabaya to Jogyakartaby plane, train, car ferry, taxi, busferry, car, bus, or shuttle

Find Transport to Jogyakarta

See all options

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

    best
    1. Fly from Juanda International Airport (SUB) to Radin Inten Ii International Airport (TKG)plane plane SUB - TKG
    3h 56m
    Rp 1,736,221–2,060,993
  2. Bus

    cheapest
    1. Take the bus from Surabaya Kota to DAMRI Bus Station Jakartabus bus Surabaya Kota - Jakarta
    2. Take the bus from DAMRI Bus Station Jakarta to Pringsewubus bus Jakarta - Pringsewu
    20h 23m
    Rp 296,494–1,108,844
  3. Train, car ferry, taxi

    1. Take the train from Surabaya Pasar Turi to Jakarta Gambirtrain train
    2. Take the train from Tanahabang to Rangkasbitungtrain train
    3. Take the train from Rangkasbitung to Meraktrain train
    4. Take the car ferry from Merak to Bakauheni Portcarferry car ferry
    5. Take the taxi from Bakauheni Port to Jogyakartataxi taxi
    16h 54m
    Rp 385,130–866,663
  4. Train, bus and ferry

    1. Take the train from Surabaya Pasar Turi to Jakarta Gambirtrain train Argo Bromo Anggrek / ...
    2. Take the busferry from Gambir Station to Bandar Lampungbusferry bus ferry
    17h 40m
    Rp 385,040–695,553
  5. Drive, car ferry

    1. Drive from Surabaya to Merakcar car
    2. Take the car ferry from Merak to Bakauheni Portcarferry car ferry
    3. Drive from Bakauheni Port to Jogyakartacar car
    15h 6m
    Rp 1,907,753–3,095,866
  6. Train to Abdul Rachman Saleh Airport, fly

    1. Take the train from Gubeng to Lawangtrain train
    2. Fly from Abdul Rachman Saleh Airport (MLG) to Radin Inten Ii International Airport (TKG)plane plane MLG - TKG
    6h 46m
    Rp 2,230,495–5,930,040
  7. Train, bus and ferry via Surabaya Gubeng

    1. Take the train from Surabaya Gubeng to Jakarta Gambirtrain train Bima
    2. Take the busferry from Gambir Station to Bandar Lampungbusferry bus ferry
    20h 35m
    Rp 385,040–771,194
  8. Shuttle, bus, bus and ferry

    1. Take a shuttle bus from Surabaya to Kudusshuttle bus
    2. Take the bus from Kudus to Jakarta Daan Mogotbus bus
    3. Take the busferry from Gambir Station to Bandar Lampungbusferry bus ferry
    28h 47m
    Rp 553,540–1,013,550

Juanda International Airport (SUB) to Radin Inten Ii International Airport (TKG) flights

Calendar65Weekly Planes
Duration4h 23mAverage Duration
TicketRp 1,103,182Cheapest Price
See schedules

Questions & Answers

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

Citilink Indonesia, Batik Air, and two other airlines fly from Juanda International Airport (SUB) to Radin Inten Ii International Airport (TKG) every 3 hours. Alternatively, you can take a bus from Surabaya Kota to Jogyakarta via DAMRI Bus Station Jakarta and Pringsewu in around 20h 23m.

Airlines
Train operators
Bus operators
Ferry operators
Other 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 Thanksgiving 2018: How to travel stress-free, French strikes 2018: What are my alternative transport options?, and Travel Insider: Top Japan travel tips by Beatrix Holland - to help you get the most out of your next trip.