Sahid Hotel, Surabaya

Jakarta to Surabaya

Compare trains, coaches, flights and ferries from Jakarta to Surabaya. From €60.32, fastest 4h 26m, with the total price and every fee shown up front.

Jakarta to Surabaya runs about 56 times a day, with the first departure around 06:00 and the last around 20:50. One passenger pays between €60.32 and €83.39, every fee included, depending on the operator and the way you travel. The fastest door to door is 4h 26m over 678 km, on services run by 8 operators across 2 modes.

Checked 13 September 2026Priced for 29 September 2026One passenger, all fees included

What one seat costs

The spread between the cheapest and dearest typical fare on this corridor, across 8 operators and 2 ways of making the journey. The operator sets the price on the day.

Typical fares

€60.32 to €83.39

  • 144%Moves across the booking window

When it runs, leaving Jakarta

No operator has filed a timetable for this direction yet, so the first and last departure below follow the pattern of the corridor. Read them as the shape of the service day rather than as times to turn up for.

  • 06:00First departure
  • 20:50Last departure
  • 56Services per day
  • 100%Run direct

KAI runs this service and does not sell it here. Bookaway takes the payment.

Buying this journey

Bookaway lists departures for Jakarta to Surabaya on your date, and you pay on their side.

Partner link. We do not sell this ticket, and we earn nothing from this one.

Fares by date

What this journey usually costs, by departure date. It shows which days run dearer.

Typical fares

  1. about €121.09Mon14
  2. about €103.98Tue15
  3. about €109.88Wed16
  4. about €113.42Thu17
  5. about €104.57Fri18
  6. about €108.11Sat19
  7. about €99.85Sun20
  8. about €72.71Mon21
  9. about €70.35Tue22
  10. about €74.48Wed23
  11. about €92.77Thu24
  12. about €85.69Fri25
  13. about €88.05Sat26
  14. about €82.15Sun27
  15. about €61.50Mon28
  16. about €60.32Tue29
  17. about €65.04Wed30
  18. about €72.71Thu1
  19. about €67.99Fri2
  20. about €69.17Sat3
  21. about €65.04Sun4

Based on what this route has cost recently. The operator sets the price on the day, and the live fare is confirmed when you book.

The flight gets you into Surabaya. It does not get you a bed, and neither do we.

A hotel room

A room in Surabaya for the night the flight gets in

Sort by distance from Surabaya Kota railway station and you can see which places are ten minutes on foot and which are not.

Partner links. We do not sell accommodation. We earn a commission when a booking completes, and it never changes what you pay.

Booking window

When to book Jakarta to Surabaya

The same search run across the whole booking window, so the shape of the curve is visible rather than described.

  1. €73.8990 days
  2. €60.3260 days
  3. €52.0645 days
  4. €49.7030 days
  5. €65.0421 days
  6. €82.1514 days
  7. €99.857 days
  8. €109.883 days
  9. €121.091 days
Cheapest lead time
Fares bottom out around 30 days ahead, at €49.70.
How much it moves
The gap between the cheapest and dearest lead time is 144 percent. The dearest point is €121.09, 1 days out.
What that means
Today sits inside the cheap window, which closes about 30 days before departure. Waiting from here has usually cost money on this corridor rather than saved it.
€121.09€49.701371421304560

Book now Fares on this route are lowest around 30 days ahead. You are inside that window.

This corridor, specifically

Facts that apply to Jakarta to Surabaya and to no other route on the site.

Clocks

Both ends keep the same time, so the arrival is the departure plus the journey.

The shape of it

678 km

662 km as the crow flies, 2% further by the route services actually take. The bearing runs east.

Who lives at each end

8,540,1213,018,022

Population at the departure city and at the arrival city, which is usually what decides how often anything runs.

How we know

2/4

2 of these connections were inferred from service-area overlap rather than observed in a timetable. We would rather say so.

The route

JakartaJakartaSurabayaSurabaya
The journey

What the journey actually looks like

Direct or connecting, how far the route really runs, and what happens when a connection is missed.

How far it really runs
The route covers 678 km against 662 km in a straight line, a detour of 2 percent. Track and road geometry account for the difference.

Surabaya is large, and the road in from SUB can take longer than the last hour of the flight. Cars are not our business.

A taxi rank outside an airport terminal

A car waiting when you land in Surabaya

Settled in advance, so the ride into Surabaya costs what it said it would rather than what the rank says.

Partner links. We do not operate transfers. We earn a commission on a booking, and the fare is the same as going direct.

Who runs this route

The flight gets in hours before any room is ready. Holding a bag is not what we sell.

Left luggage lockers

Left luggage near Surabaya Kota railway station

Most of the points near Surabaya Kota railway station open before the first train and shut after the last one.

Partner links. We do not run these networks. We earn a commission on a booking, and the price is the same as going direct.

Questions about Jakarta to Surabaya

The questions people actually ask about this journey, answered from the same prices and times the page above is built on rather than written once and left to go stale.

How long does it take to get from Jakarta to Surabaya?

The fastest journey from Jakarta to Surabaya takes 4h 26m door to door, of which 1h 16m is spent moving, on the flight. Most services take around 4h 42m, because that average includes slower stopping services and journeys with a connection. Times include reaching the terminal and leaving it at the far end.

How much does it cost to travel from Jakarta to Surabaya?

The cheapest fare from Jakarta to Surabaya is €60.32, as of 13 September 2026. A typical fare across the next three weeks is €102.21. Both figures are the total for one passenger, including taxes, supplier fees and our service fee, so nothing is added at checkout.

What is the cheapest way to get from Jakarta to Surabaya?

The cheapest way from Jakarta to Surabaya is by flight, at €70.35 for one passenger on 29 September 2026. That journey takes 4h 26m door to door. Cheaper is rarely faster on this corridor, and the comparison table on this page shows what each mode costs against what it saves.

What is the fastest way to get from Jakarta to Surabaya?

The fastest way from Jakarta to Surabaya is by flight, at 4h 26m door to door. Only 1h 16m of that is spent moving; the remaining 3h 10m is reaching the terminal and leaving it at the far end. The cheapest fare on that mode is €70.35.

When should I book Jakarta to Surabaya?

Fares from Jakarta to Surabaya bottom out around 30 days before departure, at €49.70. Across the whole booking window the gap between the cheapest and the dearest lead time is 144 percent, measured on 13 September 2026. Booking inside the last week has consistently cost more on this corridor.

Which day of the week is cheapest for Jakarta to Surabaya?

Tuesday is the cheapest day to depart from Jakarta to Surabaya, at €70.35. That is the median of 21 priced departure days across the next three weeks, as of 13 September 2026. Shifting a departure by one day is usually worth more than shifting the booking by one week.

Which month is cheapest for Jakarta to Surabaya?

February is the cheapest of the next 6 months to travel from Jakarta to Surabaya, at €49.11 for one passenger. Each month is priced on its fifteenth, so the comparison is like for like rather than a mix of weekends and midweek departures.

Who runs services from Jakarta to Surabaya?

8 operators sell services from Jakarta to Surabaya across 2 modes: Batik Air, Citilink Indonesia, Garuda Indonesia, Indonesia AirAsia, KAI, Lion Mentari Airlines. Journey times, fares and fare conditions differ between them, and the operator table on this page compares all of them on speed, flexibility and what is provided on board.

Is there a direct service from Jakarta to Surabaya?

Every service we sell from Jakarta to Surabaya is direct, with around 68 departures a day and a fastest journey of 4h 26m door to door. No connection is needed, so there is no missed connection risk to plan around on this corridor.

How much CO2 does the journey from Jakarta to Surabaya produce?

Travelling from Jakarta to Surabaya by train produces about 21.8 kg of CO2 per passenger, the lowest of any mode on this corridor. The same journey by Flight produces about 167.8 kg, roughly 8 times as much for one passenger.

Which station or terminal do services from Jakarta to Surabaya use?

Services from Jakarta to Surabaya by flight leave from Jakarta HLP and arrive at Surabaya SUB. Allow about 3h 10m in total for reaching the departure terminal and leaving the arrival one, which is already included in every door to door time on this page.

Can I change or refund a ticket from Jakarta to Surabaya?

1 of the 8 operators we sell from Jakarta to Surabaya allow a change or a refund. A change on a changeable fare costs €5.00. The operator table on this page names which is which, and the condition is shown again before you pay.

Where these numbers come from

Places, coordinates, operators, which operator serves which pair, and every distance on this page are real and come from open data. Where a corridor has a filed timetable the departure times are real too, and ferry fares are the prices the operators publish themselves.

Observed service A carrier record shows this named operator serving this named pair, and we carry that through unchanged.

Where no operator publishes a fare for a corridor, the price here is our own estimate, worked out from the real distance and the real operator through a fare curve that follows lead time, day of the week and season. It tells you roughly what the journey costs. It is not a seat anyone has agreed to sell, and the payment step will not take it.

Defined in full at Door to door, Fares, The booking window, Carbon, Distances

On this page
Every figure above was computed for Jakarta to Surabaya on 13 September 2026: 678 km of route against 662 km in a straight line, 68 services a day, 8 operators a cheapest fare of €60.32, and 4h 26m door to door on the fastest mode. The return direction is computed separately and its numbers are not these numbers.

Being on the water gives Surabaya a set of days out that do not start at a station. We do not sell those either.

A guided tour group

Day trips out of Surabaya and across Indonesia

Day trips that leave Surabaya in the morning and cover a good part of Indonesia by evening.

Partner links. We do not sell tours or tickets. We earn a commission on a booking, and it never changes the price.

The two ends, compared

Jakarta reaches 104 places in 22 countries on services we hold, over distances from 43 to 11,718 km. Surabaya reaches 89 places in 8 countries, from 42 to 8,662 km.

Other ways to make this journey

Leaving Jakarta

  • 104Places you can leave for
  • 22Countries
  • 41Operators

Arriving in Surabaya

Leaving Surabaya

  • 89Places you can leave for
  • 8Countries
  • 23Operators

Find tickets

Plan with Ori

Ori, the trip planner

Ask it something like this