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.
Fly Soekarno–Hatta International Airport to Juanda International Airport, train
best- Fly from Soekarno–Hatta International Airport (CGK) to Juanda International Airport (SUB)plane CGK - SUB
- Take the train from Waru to Surabaya Gubengtrain
4h 19mRp 1,053,867–2,161,164Bus
cheapest- Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus Jakarta - Surabaya Kota
12h 2mRp 219,550–1,045,909Train
- Take the train from Jakarta Gambir to Surabaya Pasar Turitrain Argo Bromo Anggrek / ...
9h 30mRp 330,542–685,994Drive 754.8 km
- Drive from Jakarta Airport to Surabayacar 754.8 km
9h 33mRp 1,474,351–2,129,618Fly Soekarno–Hatta International Airport to Abdul Rachman Saleh Airport, train
- Fly from Soekarno–Hatta International Airport (CGK) to Abdul Rachman Saleh Airport (MLG)plane CGK - MLG
- Take the train from Lawang to Gubengtrain
4h 32mRp 1,417,918–2,220,897Fly Halim Perdanakusuma Airport to Juanda International Airport, train
- Fly from Halim Perdanakusuma Airport (HLP) to Juanda International Airport (SUB)plane HLP - SUB
- Take the train from Waru to Surabaya Gubengtrain
6h 4mRp 1,220,851–2,616,064Fly Soekarno–Hatta International Airport to Ahmad Yani, train
- Fly from Soekarno–Hatta International Airport (CGK) to Ahmad Yani (SRG)plane CGK - SRG
- Take the train from Semarang Tawang to Surabaya Pasar Turitrain
5h 15mRp 1,221,081–2,408,161Fly Soekarno–Hatta International Airport to Kediri, shuttle
- Fly from Soekarno–Hatta International Airport (CGK) to Kediri (DHX)plane CGK - DHX
- Take a shuttle bus from Nganjuk to Surabaya
4h 2mFly Halim Perdanakusuma Airport to Abdul Rachman Saleh Airport, train
- Fly from Halim Perdanakusuma Airport (HLP) to Abdul Rachman Saleh Airport (MLG)plane HLP - MLG
- Take the train from Lawang to Gubengtrain
6h 12mRp 1,746,351–7,176,064Train via Surabaya Gubeng
- Take the train from Jakarta Gambir to Surabaya Gubengtrain Bima
12h 5mRp 330,542–795,994
Soekarno–Hatta International Airport (CGK) to Juanda International Airport (SUB) flights
Questions & Answers
The cheapest way to get from Jakarta Airport to Surabaya is to train which costs Rp330000 - Rp700000 and takes 9h 30m.
The fastest way to get from Jakarta Airport to Surabaya is to fly and train which takes 4h 19m and costs Rp1000000 - Rp2200000.
No, there is no direct bus from Jakarta Airport to Surabaya. However, there are services departing from Soekarno-Hatta International Airport and arriving at Surabaya Kota via DAMRI Bus Station Jakarta. The journey, including transfers, takes approximately 12h 2m.
No, there is no direct train from Jakarta Airport to Surabaya. However, there are services departing from Jakarta Gambir and arriving at Surabaya Pasar Turi via . The journey, including transfers, takes approximately 9h 30m.
The distance between Jakarta Airport and Surabaya is 715 km. The road distance is 754.8 km.
The best way to get from Jakarta Airport to Surabaya without a car is to train which takes 9h 30m and costs Rp330000 - Rp700000.
It takes approximately 4h 19m to get from Jakarta Airport to Surabaya, including transfers.
Jakarta Airport to Surabaya bus services, operated by Damri, depart from DAMRI Bus Station Jakarta.
Jakarta Airport to Surabaya train services, operated by Kereta API, depart from Jakarta Gambir station.
The best way to get from Jakarta Airport to Surabaya is to train which takes 9h 30m and costs Rp330000 - Rp700000. Alternatively, you can bus, which costs Rp220000 - Rp1100000 and takes 12h 2m.
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.
- Website
- batikair.com
Flights from Soekarno–Hatta International Airport to Juanda International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- Rp 1,200,000–2,900,000
Flights from Soekarno–Hatta International Airport to Abdul Rachman Saleh Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- Rp 1,500,000–3,500,000
Flights from Halim Perdanakusuma Airport to Juanda International Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- Rp 1,600,000–4,000,000
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 1,100,000–2,500,000
Flights from Halim Perdanakusuma Airport to Abdul Rachman Saleh Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- Rp 1,600,000–6,500,000
- Website
- citilink.co.id
Flights from Soekarno–Hatta International Airport to Juanda International Airport
- Ave. Duration
- 1h 36m
- When
- Every day
- Estimated price
- Rp 1,000,000–1,600,000
Flights from Soekarno–Hatta International Airport to Abdul Rachman Saleh Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- Rp 1,200,000–1,800,000
Flights from Halim Perdanakusuma Airport to Juanda International Airport
- Ave. Duration
- 1h 31m
- When
- Every day
- Estimated price
- Rp 1,200,000–1,800,000
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 7m
- When
- Every day
- Estimated price
- Rp 950,000–1,500,000
- Website
- garuda-indonesia.com
Flights from Soekarno–Hatta International Airport to Juanda International Airport
- Ave. Duration
- 1h 39m
- When
- Every day
- Estimated price
- Rp 1,000,000–2,500,000
Flights from Soekarno–Hatta International Airport to Abdul Rachman Saleh Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- Rp 1,200,000–1,800,000
Flights from Halim Perdanakusuma Airport to Juanda International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- Rp 1,200,000–1,800,000
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 12m
- When
- Every day
- Estimated price
- Rp 950,000–2,600,000
- Website
- pelita-air.com
Flights from Soekarno–Hatta International Airport to Juanda International Airport
- Ave. Duration
- 1h 34m
- When
- Every day
- Estimated price
- Rp 1,400,000–2,600,000
- Website
- lionair.co.id
Flights from Soekarno–Hatta International Airport to Juanda International Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- Rp 1,000,000–1,600,000
- Website
- flynamair.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani via Pangkalanbun
- Ave. Duration
- 2h 55m
- When
- Every day
- Estimated price
- Rp 1,000,000–5,500,000
- Website
- superairjet.com
Flights from Soekarno–Hatta International Airport to Kediri
- Ave. Duration
- 1h 30m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 1,000,000–1,400,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Waru to Surabaya Gubeng
- Ave. Duration
- 21 min
- Frequency
- Every 4 hours
- Estimated price
- Rp 6,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 6,000–320,000
- Business
- Rp 280,000–550,000
- Executive
- Rp 11,000–650,000
Train from Jakarta Gambir to Surabaya Pasar Turi
- 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 Lawang to Gubeng
- Ave. Duration
- 1h 26m
- 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 Waru to Surabaya Gubeng
- Ave. Duration
- 21 min
- Frequency
- Every 4 hours
- Estimated price
- Rp 6,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 6,000–320,000
- Business
- Rp 280,000–550,000
- Executive
- Rp 11,000–650,000
Train from Semarang Tawang to Surabaya Pasar Turi
- Ave. Duration
- 2h 53m
- Frequency
- Every 3 hours
- Estimated price
- Rp 160,000–330,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 160,000–330,000
- Business
- Rp 370,000–550,000
- Executive
- Rp 310,000–700,000
Train from Lawang to Gubeng
- Ave. Duration
- 1h 26m
- 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 Jakarta Gambir to Surabaya Gubeng
- Ave. Duration
- 10h 20m
- 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) 1500 825
- [email protected]
- Website
- damri.co.id
Bus from DAMRI Bus Station Jakarta to Surabaya Kota
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 210,000–800,000
- Book at
- 12 Go
- [email protected]
- Website
- indahjayatrans.com
Shuttle from Nganjuk to Surabaya
- Ave. Duration
- 1h 1m
- Frequency
- 4 times a day
- Schedules at
- indahjayatrans.com
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
Jakarta Airport to Surabaya bus services, operated by Damri, arrive at Surabaya Kota station.
Jakarta Airport to Surabaya train services, operated by Kereta API, arrive at Surabaya Pasar Turi station.
Yes, the driving distance between Jakarta Airport to Surabaya is 755 km. It takes approximately 9h 33m to drive from Jakarta Airport to Surabaya.
Book your Jakarta Airport to Surabaya train tickets online with 12go.asia.
Book your Jakarta Airport to Surabaya bus tickets online with 12go.asia.
There are 972+ hotels available in Surabaya.










