There are 10 ways to get from BSD City 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 36mRp 1,228,157–2,528,413Train via Jelambar
cheapest- Take the train from Jakarta Gambir to Surabaya Gubengtrain Bima
16h 8mRp 327,000–557,000Train
- Take the train from Jakarta Gambir to Surabaya Pasar Turitrain Argo Bromo Anggrek / ...
8h 17mRp 533,207–691,972Bus
- Take the bus from Serpong to Soekarno-Hatta International Airportbus
- Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus Jakarta - Surabaya Kota
13h 23mRp 360,127–1,200,741Drive 750.5 km
- Drive from BSD City to Surabayacar 750.5 km
9h 40mRp 1,484,606–2,144,430Fly 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
4h 44mRp 1,456,512–2,661,924Fly 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 49mRp 1,653,657–2,488,413Fly 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
4h 51mRp 1,982,012–7,221,924Fly 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 32mRp 1,448,657–2,778,413Fly 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 19m
Soekarno–Hatta International Airport (CGK) to Juanda International Airport (SUB) flights
Questions & Answers
The cheapest way to get from BSD City to Surabaya is to train via Jelambar which costs Rp320000 - Rp600000 and takes 16h 8m.
The fastest way to get from BSD City to Surabaya is to fly and train which takes 4h 36m and costs Rp1200000 - Rp2600000.
No, there is no direct bus from BSD City to Surabaya. However, there are services departing from Serpong and arriving at Surabaya Kota via Soekarno-Hatta International Airport and DAMRI Bus Station Jakarta. The journey, including transfers, takes approximately 13h 23m.
No, there is no direct train from BSD City to Surabaya. However, there are services departing from Jakarta Gambir and arriving at Surabaya Pasar Turi via . The journey, including transfers, takes approximately 8h 17m.
The distance between BSD City and Surabaya is 744 km. The road distance is 750.5 km.
The best way to get from BSD City to Surabaya without a car is to train which takes 8h 17m and costs Rp500000 - Rp700000.
It takes approximately 4h 36m to get from BSD City to Surabaya, including transfers.
BSD City to Surabaya bus services, operated by JA Connexion (by Perum PPD), depart from Serpong station.
BSD City to Surabaya train services, operated by Kereta API, depart from Jakarta Gambir station.
The best way to get from BSD City to Surabaya is to train which takes 8h 17m and costs Rp500000 - Rp700000. Alternatively, you can bus, which costs Rp360000 - Rp1200000 and takes 13h 23m.
What companies run services between BSD City, 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, you can take a vehicle from BSD City to Surabaya Kota via Serpong, Soekarno-Hatta International Airport, and DAMRI Bus Station Jakarta in around 13h 23m.
- 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–3,000,000
Flights from Halim Perdanakusuma Airport to Juanda International Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- Rp 1,600,000–4,100,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,600,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
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
- 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 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 Abdul Rachman Saleh Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- Rp 1,300,000–1,800,000
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 7m
- When
- Every day
- Estimated price
- Rp 1,000,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,100,000–2,900,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 Abdul Rachman Saleh Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- Rp 1,300,000–1,800,000
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 12m
- When
- Every day
- Estimated price
- Rp 1,000,000–3,200,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,700,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,100,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,500,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 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 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 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 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 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
- (+62)21 8591 2547
- [email protected]
Bus from Serpong to Soekarno-Hatta International Airport
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- Rp 85,000
- Schedules at
- facebook.com
- 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
- https://12go.asia/en/operator/damri
- [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 Need to know: Greyhound, Getting to Rome from the airport, and Travelling by boat in Italy - to help you get the most out of your next trip.
More Questions & Answers
BSD City to Surabaya bus services, operated by JA Connexion (by Perum PPD), arrive at Soekarno-Hatta International Airport station.
BSD City to Surabaya train services, operated by Kereta API, arrive at Surabaya Pasar Turi station.
Yes, the driving distance between BSD City to Surabaya is 750 km. It takes approximately 9h 40m to drive from BSD City to Surabaya.
There are 977+ hotels available in Surabaya.










