Batam to Surabaya

Compare trains, buses, flights and ferries from Batam to Surabaya. From €116.96, fastest 5h 19m, with the total price and every fee shown up front.

Traveling from Batam to Surabaya costs €116.96 at the cheapest and takes 5h 19m door to door at the fastest, across 1 mode and 2 operators. The route covers 1,385 km. Cheapest is by flight, fastest is by flight.

Checked September 12, 2026Priced for September 28, 2026One passenger, all fees included

At a glance

Distance
1,385 km
Fastest
5h 19m
Average
5h 28m
Services per day
8
Cheapest
€116.96
CO2 per passenger
340.7 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 28, 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
Flight5h 23m2h 13m3h 10m€139.38340.7 kg8
  • 5h 23mFastest, by Flight
  • €139.38Cheapest, by Flight
  • 340.7 kgLowest CO2, by Flight
  • 1,385 kmDistance traveled
Real services

The cheapest and the fastest on September 28, 2026

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

Cheapest€116.96
  1. Lion Mentari Airlines LM755814:162h 21m16:37Batam BTHSurabaya SUB

Door to door 5h 31mCO2 340.7 kgChanges 0Fixed, no changes

Fastest€143.51
  1. Citilink Indonesia CI361514:102h 13m16:23Batam BTHSurabaya SUB

Door to door 5h 23mCO2 340.7 kgChanges 0Fixed, no changes

Lowest CO2€214.90
  1. Garuda Indonesia GI134307:301h 44m09:14Batam BTHJakarta CGK
  2. KAI KA250910:214h 43m15:04Jakarta Kota railway stationSurabaya Kota railway station

Changes at Jakarta, with 67 minutes between services and a walk of about 14 minutes.

Door to door 9h 31mCO2 244.0 kgChanges 1Fixed, no changes

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 Batam to Surabaya
Cheapest fare by mode and day for Batam to SurabayaSunSep 13MonSep 14TueSep 15WedSep 16ThuSep 17FriSep 18SatSep 19SunSep 20MonSep 21TueSep 22WedSep 23ThuSep 24FriSep 25SatSep 26
Flight€263.28€212.54€181.27€184.81€226.70€212.54€183.63€160.62€139.38€141.74€145.87€204.28€170.65€144.10

Cheapest day: 2026-09-28 · €116.96

Surabaya is big enough that where you sleep decides what the days look like. We sell the seat, not the room.

A hotel room

Rooms within reach of Surabaya 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 Batam to Surabaya

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

  1. €154.7290 days
  2. €98.0860 days
  3. €91.0045 days
  4. €96.9030 days
  5. €145.8721 days
  6. €144.1014 days
  7. €183.637 days
  8. €181.273 days
  9. €263.281 days
Cheapest lead time
Fares bottom out around 45 days ahead, at €91.00.
How much it moves
The gap between the cheapest and most expensive lead time is 189 percent. The most expensive point is €263.28, 1 days out.
What that means
Today sits inside the cheap window, which closes about 45 days before departure. Waiting from here has usually cost money on this corridor rather than saved it.
€263.28€91.001371421304560

Book now Fares on this route are lowest around 45 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. €160.62Sun
  2. €139.38Mon
  3. €156.49Tue
  4. €145.87Wed
  5. €204.28Thu
  6. €170.65Fri
  7. €145.87Sat
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. €181.27Sep
  2. €127.58Oct
  3. €115.19Nov
  4. €111.06Dec
  5. €121.09Jan
  6. €95.13Feb

The route

BatamBatamSurabayaSurabaya
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.

Direct or connecting
50% of the services we sell on this corridor run through without a change. The remaining 50% involve one connection.
How far it really runs
The route covers 1,385 km against 1,345 km in a straight line, a detour of 3 percent. Track and road geometry account for the difference.
Where the change is
Connections are made at Yogyakarta, Jakarta, Pontianak, Semarang. The gap between arriving and leaving is 57 minutes, of which about 14 is walking.
If the connection is missed
The tightest connection we sell here has a 17 percent chance of not being made on the timetable alone. Part of this journey is a self transfer between separate tickets, so leave more time than the minimum and expect to check in again.
First and last departure
The first service of the day leaves Batam at 06:03 and the last at 14:16, across 8 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.

Batam

Bus
  • Tranferpoint Batam Centre
  • Transferpoint Sekupang (Sekupang port)
Air
  • BTH
Ferry
  • Batam Centre
  • Batu Ampar Batam

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

The fare from SUB into Surabaya is the one price on this trip we cannot show you, because it is not ours.

A taxi stand outside an airport terminal

Getting from SUB into Surabaya?

A price agreed before you fly, a driver at arrivals, and a car big enough for the bags.

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.
OperatorFromFastest
Citilink Indonesia€120.505h 20m
Lion Mentari Airlines€116.965h 19m
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-28, broken into its parts. Nothing is added after this.
PartAmountShare
Operator fare€91.5078%
Taxes€16.4714%
Supplier fees€7.006%
Our service fee€1.992%
Total you pay€116.96100%

A day in Surabaya hauling a suitcase is a shorter day than it needs to be. We do not store bags.

Left luggage lockers

Where to leave your bags in Surabaya

Most of the points near Surabaya Kota railway station open before the first train and close 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 Batam to Surabaya

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 Batam to Surabaya?

The fastest journey from Batam to Surabaya takes 5h 19m door to door, of which 2h 13m is spent moving, on the flight. Most services take around 5h 28m, 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 Batam to Surabaya?

The cheapest fare from Batam to Surabaya is €116.96, checked on September 12, 2026. A typical fare across the next three weeks is €176.55. 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 Batam to Surabaya?

The cheapest way from Batam to Surabaya is by flight, at €139.38 for one passenger on September 28, 2026. That journey takes 5h 23m 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.

When should I book Batam to Surabaya?

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

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

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

Which month is cheapest for Batam to Surabaya?

February is the cheapest of the next 6 months to travel from Batam to Surabaya, at €95.13 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 Batam to Surabaya?

2 operators sell services from Batam to Surabaya across 1 mode: Citilink Indonesia, 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 Batam to Surabaya?

50 percent of the services we sell from Batam to Surabaya are direct. The rest connect at Yogyakarta, Jakarta, Pontianak, Semarang, with about 57 minutes between the two services. Both legs are sold on one booking, so a missed connection is rebooked at no charge.

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

Services from Batam to Surabaya by flight leave from Batam BTH 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 Batam to Surabaya?

0 of the 2 operators we sell from Batam 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

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 Batam to Surabaya on September 12, 2026: 1385 km of route against 1345 km in a straight line, 8 services a day, 2 operators, a cheapest fare of €116.96, and 5h 19m 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

What to book in Surabaya before you go

Timed entry, guided walks and half-day trips out of Surabaya, with free cancellation on most of it.

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 Batam

Arriving in Surabaya

Leaving Surabaya

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

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