There are 6 ways to get from Surabaya to Jakarta by plane, bus, train, 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 to Halim Perdanakusuma Airport, bus, line 9 bus
best- Fly from Juanda International Airport (SUB) to Halim Perdanakusuma Airport (HLP)plane SUB - HLP
- Take the bus from TK Angkasa 5 to Cawang Sentral 1 Polypaintbus
- Take the bus from Cawang Sentral to Pancoran Arah Baratbus
2h 29mRp 1,339,691–1,864,453Bus
cheapest- Take the bus from Surabaya Kota to DAMRI Bus Station Jakartabus Surabaya Kota - Jakarta
10h 26mRp 210,000–800,000Train
- Take the train from Surabaya Pasar Turi to Jatinegaratrain Argo Bromo Anggrek / ...
7h 40mRp 320,000–440,000Drive 724.4 km
- Drive from Surabaya to Jakartacar 724.4 km
9h 18mRp 1,433,555–2,070,690Fly to Soekarno–Hatta International Airport
- Fly from Juanda International Airport (SUB) to Soekarno–Hatta International Airport (CGK)plane SUB - CGK
2h 53mRp 1,143,691–2,010,953Shuttle, bus
- Take a shuttle bus from Surabaya to KudusSurabaya
- Take the bus from Kudus to Jakarta Kampung Rambutan Bus Stationbus
14h 48mRp 428,500–743,500
Surabaya to Jakarta by train
Questions & Answers
The cheapest way to get from Surabaya to Jakarta is to train which costs Rp320000 - Rp440000 and takes 7h 40m.
The fastest way to get from Surabaya to Jakarta is to fly and bus and line 9 bus which takes 2h 29m and costs Rp1300000 - Rp1900000.
No, there is no direct bus from Surabaya to Jakarta. However, there are services departing from Surabaya Kota and arriving at Term. Senen via Jln. Bungur Besar XVI. The journey, including transfers, takes approximately 10h 26m.
Yes, there is a direct train departing from Surabaya Pasar Turi and arriving at Jatinegara. Services depart every four hours, and operate every day. The journey takes approximately 7h 40m.
The distance between Surabaya and Jakarta is 692 km. The road distance is 724.4 km.
The best way to get from Surabaya to Jakarta without a car is to train which takes 7h 40m and costs Rp320000 - Rp440000.
It takes approximately 2h 29m to get from Surabaya to Jakarta, including transfers.
Surabaya to Jakarta bus services, operated by Damri, depart from Surabaya Kota station.
Surabaya to Jakarta train services, operated by Kereta API, depart from Surabaya Pasar Turi station.
The best way to get from Surabaya to Jakarta is to train which takes 7h 40m and costs Rp320000 - Rp440000. Alternatively, you can bus, which costs Rp210000 - Rp800000 and takes 10h 26m, you could also fly, which costs Rp1100000 - Rp2100000 and takes 2h 53m.
What companies run services between Surabaya, Indonesia and Jakarta, Indonesia?
Kereta API operates a train from Surabaya Pasar Turi to Jatinegara every 4 hours. Tickets cost Rp 320,000–440,000 and the journey takes 7h 40m. Alternatively, Damri operates a bus from Surabaya Kota to DAMRI Bus Station Jakarta once daily. Tickets cost Rp 210,000–800,000 and the journey takes 10h.
- Website
- citilink.co.id
Flights from Juanda International Airport to Halim Perdanakusuma Airport
- Ave. Duration
- 1h 33m
- When
- Every day
- Estimated price
- Rp 1,200,000–1,700,000
Flights from Juanda International Airport to Soekarno–Hatta International Airport
- Ave. Duration
- 1h 33m
- When
- Every day
- Estimated price
- Rp 1,000,000–1,600,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Surabaya Pasar Turi to Jatinegara
- Ave. Duration
- 7h 40m
- Frequency
- Every 4 hours
- 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
- Phone
- 1500102
- [email protected]
- Website
- TransJakarta
Bus from TK Angkasa 5 to Cawang Sentral 1 Polypaint
- Ave. Duration
- 14 min
- Frequency
- Every 5 minutes
- Schedules at
- TransJakarta
Bus from Cawang Sentral to Pancoran Arah Barat
- Ave. Duration
- 22 min
- Frequency
- Every 5 minutes
- Estimated price
- Rp 3,500
- Schedules at
- TransJakarta
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 Which side of Niagara Falls should I choose (and how do I get there)?, Travel Insider: Top Japan travel tips by Beatrix Holland, and Italian Lakes: Getting around by train - to help you get the most out of your next trip.
More Questions & Answers
Surabaya to Jakarta bus services, operated by Damri, arrive at DAMRI Bus Station Jakarta.
Surabaya to Jakarta train services, operated by Kereta API, arrive at Jatinegara station.
Yes, the driving distance between Surabaya to Jakarta is 724 km. It takes approximately 9h 18m to drive from Surabaya to Jakarta.
Book your Surabaya to Jakarta train tickets online with 12go.asia.
Book your Surabaya to Jakarta bus tickets online with Omio and 12go.asia.
There are 5550+ hotels available in Jakarta.







