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.
Fly from Juanda International Airport
best- Fly from Juanda International Airport (SUB) to Radin Inten Ii International Airport (TKG)plane SUB - TKG
3h 56mRp 1,736,221–2,060,993Bus
cheapest- Take the bus from Surabaya Kota to DAMRI Bus Station Jakartabus Surabaya Kota - Jakarta
- Take the bus from DAMRI Bus Station Jakarta to Pringsewubus Jakarta - Pringsewu
20h 23mRp 296,494–1,108,844Train, car ferry, taxi
- Take the train from Surabaya Pasar Turi to Jakarta Gambirtrain
- Take the train from Tanahabang to Rangkasbitungtrain
- Take the train from Rangkasbitung to Meraktrain
- Take the car ferry from Merak to Bakauheni Portcarferry
- Take the taxi from Bakauheni Port to Jogyakartataxi
16h 54mRp 385,130–866,663Train, bus and ferry
- Take the train from Surabaya Pasar Turi to Jakarta Gambirtrain Argo Bromo Anggrek / ...
- Take the busferry from Gambir Station to Bandar Lampungbusferry
17h 40mRp 385,040–695,553Drive, car ferry
- Drive from Surabaya to Merakcar
- Take the car ferry from Merak to Bakauheni Portcarferry
- Drive from Bakauheni Port to Jogyakartacar
15h 6mRp 1,907,753–3,095,866Train to Abdul Rachman Saleh Airport, fly
- Take the train from Gubeng to Lawangtrain
- Fly from Abdul Rachman Saleh Airport (MLG) to Radin Inten Ii International Airport (TKG)plane MLG - TKG
6h 46mRp 2,230,495–5,930,040Train, bus and ferry via Surabaya Gubeng
- Take the train from Surabaya Gubeng to Jakarta Gambirtrain Bima
- Take the busferry from Gambir Station to Bandar Lampungbusferry
20h 35mRp 385,040–771,194Shuttle, bus, bus and ferry
- Take a shuttle bus from Surabaya to Kudus
- Take the bus from Kudus to Jakarta Daan Mogotbus
- Take the busferry from Gambir Station to Bandar Lampungbusferry
28h 47mRp 553,540–1,013,550
Juanda International Airport (SUB) to Radin Inten Ii International Airport (TKG) flights
Questions & Answers
The cheapest way to get from Surabaya to Jogyakarta is to train and car ferry and taxi which costs Rp380000 - Rp900000 and takes 16h 54m.
The fastest way to get from Surabaya to Jogyakarta is to fly which takes 3h 56m and costs Rp1700000 - Rp2100000.
No, there is no direct bus from Surabaya to Jogyakarta. However, there are services departing from Surabaya Kota and arriving at Pringsewu via DAMRI Bus Station Jakarta. The journey, including transfers, takes approximately 20h 23m.
The distance between Surabaya and Jogyakarta is 922 km.
The best way to get from Surabaya to Jogyakarta without a car is to train and car ferry and taxi which takes 16h 54m and costs Rp380000 - Rp900000.
It takes approximately 3h 56m to get from Surabaya to Jogyakarta, including transfers.
Surabaya to Jogyakarta bus services, operated by Damri, depart from Surabaya Kota station.
The best way to get from Surabaya to Jogyakarta is to fly which takes 3h 56m and costs Rp1700000 - Rp2100000. Alternatively, you can bus, which costs Rp290000 - Rp1200000 and takes 20h 23m.
Surabaya to Jogyakarta bus services, operated by Damri, arrive at DAMRI Bus Station Jakarta.
There are six+ hotels available in Jogyakarta.
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.
- Website
- citilink.co.id
Flights from Juanda International Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 3h 57m
- When
- Every day
- Estimated price
- Rp 1,100,000–2,600,000
Flights from Abdul Rachman Saleh Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 22m
- When
- Every day
- Estimated price
- Rp 2,100,000–5,500,000
- Website
- garuda-indonesia.com
Flights from Juanda International Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- Rp 1,500,000–4,000,000
Flights from Abdul Rachman Saleh Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 17m
- When
- Every day
- Estimated price
- Rp 2,100,000–8,500,000
- Website
- batikair.com
Flights from Juanda International Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- Rp 1,600,000–4,200,000
Flights from Abdul Rachman Saleh Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- Rp 3,200,000–8,500,000
- Website
- lionair.co.id
Flights from Juanda International Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- Rp 1,200,000–3,700,000
Flights from Juanda International Airport to Radin Inten Ii International Airport via Ngurah Rai, Soekarno–Hatta
- Ave. Duration
- 6h 45m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 1,700,000–3,900,000
- Website
- airasia.com
Flights from Abdul Rachman Saleh Airport to Radin Inten Ii International Airport via Soekarno–Hatta
- Ave. Duration
- 3h 30m
- When
- Sunday
- Estimated price
- Rp 3,200,000–8,500,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Surabaya Pasar Turi to Jakarta Gambir
- Ave. Duration
- 7h 45m
- Frequency
- 4 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Surabaya Pasar Turi to Jakarta Gambir
- Ave. Duration
- 7h 45m
- Frequency
- 4 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Gubeng to Lawang
- Ave. Duration
- 1h 23m
- Frequency
- Once daily
- Estimated price
- Rp 45,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 45,000–320,000
- Business
- Rp 300,000–550,000
- Executive
- Rp 80,000–650,000
Train from Surabaya Gubeng to Jakarta Gambir
- Ave. Duration
- 10h 40m
- Frequency
- Once daily
- Estimated price
- Rp 320,000–550,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–550,000
- Business
- Rp 490,000–600,000
- Executive
- Rp 700,000–1,300,000
- Phone
- 021-3453535
- [email protected]
Train from Tanahabang to Rangkasbitung
- Ave. Duration
- 1h 45m
- Frequency
- Every 30 minutes
- Estimated price
- Rp 3,000–8,000
Train from Rangkasbitung to Merak
- Ave. Duration
- 1h 45m
- Frequency
- Every 30 minutes
- Estimated price
- Rp 3,000–8,000
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Busferry from Gambir Station to Bandar Lampung
- Ave. Duration
- 8h 53m
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Surabaya Kota to DAMRI Bus Station Jakarta
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 210,000–800,000
- Book at
- https://12go.asia/en/operator/damri
Bus from DAMRI Bus Station Jakarta to Pringsewu
- Ave. Duration
- 9h
- Frequency
- Once daily
- Estimated price
- Rp 80,000–600,000
- Book at
- https://12go.asia/en/operator/damri
Busferry from Gambir Station to Bandar Lampung
- Ave. Duration
- 8h 53m
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
Busferry from Gambir Station to Bandar Lampung
- Ave. Duration
- 8h 53m
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
- [email protected]
- Website
- indahjayatrans.com
Shuttle from Surabaya to Kudus
- Ave. Duration
- 2h 26m
- Frequency
- Twice daily
- Estimated price
- Rp 220,000–300,000
- Schedules at
- indahjayatrans.com
- Phone
- +62291440019
- [email protected]
- Website
- nu3tara.com
Bus from Kudus to Jakarta Daan Mogot
- Ave. Duration
- 13h 30m
- Frequency
- Once daily
- Estimated price
- Rp 260,000–450,000
- Book at
- https://12go.asia/en/operator/nusantara
- Phone
- +62 811-1021-191
- [email protected]
- Website
- asdp.id
Car ferry from Merak to Bakauheni Port
- Ave. Duration
- 3h
- Frequency
- Hourly
- Estimated price
- Rp 16,000–360,000
- Schedules at
- ferizy.com
- Regular
- Rp 22,701
- Express
- Rp 84,800
Car ferry from Merak to Bakauheni Port
- Ave. Duration
- 3h
- Frequency
- Hourly
- Estimated price
- Rp 16,000–360,000
- Schedules at
- ferizy.com
- Regular
- Rp 22,701
- Express
- Rp 84,800
- Ave. Duration
- 1h 33m
- Estimated price
- Rp 130–160
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.

















