Surabaya to Jakarta

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

Traveling from Surabaya to Jakarta costs €60.32 at the cheapest and takes 4h 26m door to door at the fastest, across 2 modes and 8 operators. The route covers 678 km. Cheapest is by flight, fastest is by flight.

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

At a glance

Distance
678 km
Fastest
4h 26m
Average
4h 42m
Services per day
68
Cheapest
€60.32
CO2 per passenger
142.0 kg
Door to door

Every way to make this journey

Journey times below are door to door, so they include getting to the terminal and away from it at the other end. Fares are the cheapest we currently sell on September 29, 2026.

Door to door means the whole journey, including reaching the terminal and leaving it at the far end. Fares are the cheapest sold on each mode.
ModeDoor to doorMovingAt the endsFromCO2Per day
Flight4h 26m1h 16m3h 10m€69.76167.8 kg56
Train5h 15m4h 31m44m€83.3921.8 kg12
  • 4h 26mFastest, by Flight
  • €69.76Cheapest, by Flight
  • 21.8 kgLowest CO2, by Train
  • 678 kmDistance traveled
Real services

The cheapest and the fastest on September 29, 2026

Two journeys we can sell today, with the service number each operator files them under.

Cheapest€60.32
  1. Sriwijaya Air SA546906:141h 18m07:32Surabaya SUBJakarta CGK

Door to door 4h 28mCO2 167.8 kgChanges 0Fixed, no changes

Fastest€79.20
  1. Batik Air BA600708:051h 16m09:21Surabaya SUBJakarta HLP

Door to door 4h 26mCO2 167.8 kgChanges 0Fixed, no changes

Lowest CO2€81.19
  1. KAI KA231006:025h 1m11:03Surabaya Kota railway stationJakarta Kota railway station

Door to door 5h 45mCO2 21.8 kgChanges 0Refundable

Today's real departures

Live from the operators' own published timetables, through the open transit feeds they publish. Times and services are real. Fares are modeled until our booking connectors are live.

Checking the live timetables.

Live from the operators' own published timetables, through the open transit feeds they publish. Times and services are real. Fares are modeled until our booking connectors are live.

Prices over the next three weeks

Live from our own engine, refreshed on every request. The cheapest days for each way of traveling are marked.

Cheapest fare by mode and day for Surabaya to Jakarta
Cheapest fare by mode and day for Surabaya to JakartaMonSep 14TueSep 15WedSep 16ThuSep 17FriSep 18SatSep 19SunSep 20MonSep 21TueSep 22WedSep 23ThuSep 24FriSep 25SatSep 26SunSep 27
Flight€105.75€103.98€91.00€113.42€104.57€108.11€81.56€72.71€70.35€74.48€92.77€85.69€88.05€69.76
Train€131.79€130.14€111.44€140.04€139.49€136.74€102.64€86.14€83.39€91.64€115.29€107.04€107.59€83.94

Cheapest day: 2026-09-29 · €60.32

The trip ends at Jakarta Kota railway station. Everything past the gates belongs to somebody else, the rooms included.

A hotel room

Rooms within reach of Jakarta Kota railway station

Hotels and apartments near downtown, most of them with free cancellation, on a map that shows what is walkable.

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 Surabaya to Jakarta

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. €69.7614 days
  7. €81.567 days
  8. €91.003 days
  9. €105.751 days
Cheapest lead time
Fares bottom out around 30 days ahead, at €49.70.
How much it moves
The gap between the cheapest and most expensive lead time is 113 percent. The most expensive point is €105.75, 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.
€105.75€49.701371421304560

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

Day of the week

Which departure day costs least

Median cheapest fare for each weekday, taken across the next three weeks of real prices.

  1. €69.76Sun
  2. €72.71Mon
  3. €70.35Tue
  4. €74.48Wed
  5. €92.77Thu
  6. €85.69Fri
  7. €88.05Sat
Across the year

How the fare moves month by month

The same journey priced on the fifteenth of each of the next six months.

  1. €103.98Sep
  2. €63.86Oct
  3. €57.37Nov
  4. €57.96Dec
  5. €56.19Jan
  6. €49.11Feb

The route

SurabayaSurabayaJakartaJakarta
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.
First and last departure
The first service of the day leaves Surabaya at 06:00 and the last at 20:50, across 56 departures. The return direction keeps its own timetable, so the times back are not these times reversed.
Terminals

Where you leave from and where you arrive

The stations, airports and ports each mode on this corridor actually uses.

Surabaya

Rail
  • Surabaya Kota railway station
  • Surabaya Gubeng railway station
  • Surabaya Pasar Turi railway station
Bus
  • Cititrans - Surabaya
  • Terminal Manukan
Air
  • SUB
Ferry
  • Surabaya D1
  • Surabaya D2

Jakarta

Rail
  • Jakarta Kota railway station
  • Jakarta Gudang railway station
  • Jakarta International Stadium railway station
Bus
  • Jaga Jakarta
  • Senayan Bank Jakarta
Air
  • CGK
  • HLP

Landing at CGK after the trains have stopped is the case this solves. We do not run cars.

A taxi stand outside an airport terminal

Getting from CGK into Jakarta

Settled in advance, so the ride into Jakarta costs what it said it would rather than what the cab stand says.

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

Carriers

Who runs this route

Speed, flexibility and what is on board. Nothing here is a rating, because we have not earned one.

Every operator we sell on this corridor. Speed is the carrier's own typical cruising speed, not the average over this route.
OperatorFromFastestTypical speedFlexibilityOn board
Batik Air€62.094h 26m740 km/hFixed fareNot published
Citilink Indonesia€61.504h 26m740 km/hFixed fareNot published
Garuda Indonesia€66.224h 26m740 km/hFixed fareNot published
Indonesia AirAsia€61.504h 26m740 km/hFixed fareNot published
KAI€70.195h 13m140 km/hRefundablePower outlets, Wi-Fi
Lion Mentari Airlines€62.684h 26m740 km/hFixed fareNot published
Sriwijaya Air€60.324h 26m740 km/hFixed fareNot published
Super Air Jet€61.504h 26m740 km/hFixed fareNot published
The price

What the fare is made of

Every part of the total, so the number at checkout is the number here.

The cheapest flight fare we sell on 2026-09-29, broken into its parts. Nothing is added after this.
PartAmountShare
Operator fare€43.5072%
Taxes€7.8313%
Supplier fees€7.0012%
Our service fee€1.993%
Total you pay€60.32100%

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

Left luggage lockers

Somewhere to drop the bags in Jakarta?

Priced by the bag and by the day, booked before you get there, and insured while it sits.

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 Surabaya to Jakarta

The questions people actually ask about this trip, 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 Surabaya to Jakarta?

The fastest journey from Surabaya to Jakarta 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 Surabaya to Jakarta?

The cheapest fare from Surabaya to Jakarta is €60.32, checked on September 13, 2026. A typical fare across the next three weeks is €98.67. 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 Surabaya to Jakarta?

The cheapest way from Surabaya to Jakarta is by flight, at €69.76 for one passenger on September 29, 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 Surabaya to Jakarta?

The fastest way from Surabaya to Jakarta 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 €69.76.

When should I book Surabaya to Jakarta?

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

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

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

Which month is cheapest for Surabaya to Jakarta?

February is the cheapest of the next 6 months to travel from Surabaya to Jakarta, 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 service from Surabaya to Jakarta?

8 operators sell services from Surabaya to Jakarta 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 Surabaya to Jakarta?

Every service we sell from Surabaya to Jakarta 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 Surabaya to Jakarta produce?

Traveling from Surabaya to Jakarta 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 Surabaya to Jakarta use?

Services from Surabaya to Jakarta by flight leave from Surabaya SUB and arrive at Jakarta HLP. 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 Surabaya to Jakarta?

1 of the 8 operators we sell from Surabaya to Jakarta 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

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

Schedules, seat counts and fares are generated by our own model until the supplier contracts are signed. Places, coordinates, operators, which operator serves which pair, and every distance are real. We would rather say that on every page than let a modeled number pass for a filed one.

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

On this page
Every figure above was computed for Surabaya to Jakarta on September 13, 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.

Plenty of what is worth seeing sits outside Jakarta and elsewhere in Indonesia. None of it is ours to sell.

A guided tour group

What to book in Jakarta before you go

Day trips that leave Jakarta 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.

Other ways to make this journey

Leaving Surabaya

Arriving in Jakarta

Leaving Jakarta

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

Find tickets

Plan a trip from here

Ask Ori for the same corridor under a different constraint, or for a longer trip that starts on it.

Plan with Ori

Ori, the trip planner

Ask it something like this