Traversing the heart of Java from the sprawling megalopolis of Jakarta to the historic port city of Surabaya is a rite of passage for many travelers in Indonesia. This route takes you from the political and financial hub of the nation to its second largest city, known as the City of Heroes. While the distance is significant, the journey offers a fascinating look at the changing landscapes of the island, moving from urban density to lush rice paddies and volcanic backdrops.
Whether you prefer the efficiency of a quick hop over the clouds or the nostalgic rhythm of a trans-Java rail journey, the options are plentiful. Each mode of transport provides a different perspective on Indonesian life, and you can easily book your preferred tickets on GoAsia.cc to ensure a smooth transition between these two Javanese powerhouses.
Jakarta to Surabaya by Train
The train is arguably the most iconic way to travel across Java. Rail travel in Indonesia has seen significant modernization, offering a comfortable and scenic alternative to the highway. Trains depart from major stations like Gambir or Pasar Senen, arriving at either Surabaya Pasar Turi or Surabaya Gubeng. The journey takes between 8h 5min and 13h 13min, depending on the service and the number of stops.
Executive Class (Eksekutif)
For those seeking the highest level of comfort, the Eksekutif classes (EKS A, AA, AB, H, I, J) are the way to go. These carriages feature reclining seats, ample legroom, air conditioning, and power outlets. Prices for these premium tiers range up to $167, providing a quiet environment suitable for working or resting as the Javanese countryside rolls by.
Economy Class (Ekonomi)
The Economy classes (EKO C, CA, CB, P, Q, S) are the most budget friendly options, with prices starting as low as $8. While modern economy cars are air conditioned and much cleaner than in previous decades, the seating is more upright and the space is tighter. It is a fantastic way to travel like a local and save money for your adventures in East Java.
Business Class (Bisnis)
Positioned between Economy and Executive, the Bisnis class (BIS B, BA, BB, K, N, O) offers a middle ground. While they lack the full reclining capabilities of Executive seats, they provide more space than Economy. These are typically available on evening departures, with prices falling in the mid range of the rail spectrum.
Jakarta to Surabaya by Flight
If time is your primary concern, flying is the fastest way to bridge the gap. Flights depart from both Soekarno-Hatta International Airport (located in Tangerang) and Halim Perdanakusuma Airport within Jakarta. The actual time in the air is brief, usually between 1h 25min and 1h 45min.
From Tangerang (Soekarno-Hatta), flight prices range from $72 to $128. From Jakarta (Halim), prices are similar, ranging from $75 to $123. When you factor in the time spent getting to the airport and through security, the total travel time is still significantly shorter than the train or bus. Most major Indonesian carriers operate this route frequently throughout the day, offering Economy class service with standard baggage allowances.
Jakarta to Surabaya by Bus
The Trans-Java Toll Road has revolutionized bus travel, making it a viable and often very comfortable option. Buses depart from various points, including central Jakarta and Bekasi. The journey duration varies widely based on traffic and the specific route, ranging from 8h 53min to 20h.
Most operators use Executive class coaches, which feature reclining seats, footrests, and often an onboard toilet. Prices for a bus seat range from $16 to $32. Traveling from Bekasi is a convenient option for those staying on the eastern outskirts of the capital, with durations starting just under 9 hours. The bus is a reliable choice for those who want a door to door feel between terminals without the price tag of a flight.
Comparing Your Options
| Mode | Price (USD) | Duration | Comfort |
|---|---|---|---|
| Train (Economy) | $8 - $30 | 8h - 13h | Standard |
| Train (Executive) | $40 - $167 | 8h - 11h | High |
| Flight | $72 - $128 | 1h 30min | Moderate |
| Bus | $16 - $32 | 9h - 20h | Moderate |
Tips for Traveling from Jakarta to Surabaya
- Book in Advance: Trains, especially the popular Executive class, can sell out days or even weeks in advance during Indonesian public holidays or long weekends.
- Station Check: Double check your departure station. In Jakarta, Executive trains usually leave from Gambir, while Economy trains often depart from Pasar Senen.
- Layer Up: Indonesian trains and buses are notorious for having very strong air conditioning. Bring a jacket or a small blanket even if it is scorching hot outside.
- Snacks and Water: While most long distance trains have a canteen car and buses make rest stops, it is always wise to carry your own water and light snacks for the journey.
- Airport Transit: If flying from Soekarno-Hatta, allow at least two to three hours for travel from central Jakarta due to unpredictable traffic. The airport rail link is a great way to avoid the road congestion.
Timetable
| Flight Tangerang - East Java $ 70.20–124.50 1h 25m – 1h 45m | |
|
| Flight Jakarta - East Java $ 72.66–119.45 1h 25m – 1h 35m | |
|
|
| Bus Jakarta - East Java $ 15.91–31.02 9h 25m – 20h | |
|
|
| Train Jakarta - East Java $ 7.52–162.67 8h 5m – 13h 13m | |
|
| Bus Bekasi - East Java $ 18.80–30.73 8h 53m – 16h 40m | |
|
Frequently Asked Questions
You can book train, bus, flight, taxi, van, and ferry tickets from Jakarta to Surabaya directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.
The cheapest way to travel is by Economy class train, with tickets starting at approximately $8. Bus tickets are also affordable, starting around $16.
The fastest way is by flight, which takes between 1h 25min and 1h 45min of flying time. This is significantly quicker than the 8 to 13 hours required by train or bus.
Travel time depends on the mode: flights take about 1.5 hours, trains take between 8 and 13 hours, and buses typically take between 9 and 20 hours.
It depends on your ticket. Most high end Executive class trains depart from Gambir Station, while many Economy class services depart from Pasar Senen Station.
The train is generally preferred for its punctuality and the ability to walk around. However, the bus can be more flexible with departure points in areas like Bekasi and utilizes the modern toll road for a smooth ride.
On Executive trains, you can purchase meals from the dining car or from staff walking through the aisles. Flights may offer snacks depending on the airline, and long distance buses usually include one meal stop at a rest area.