OverlandSEA

Rail-first journey planning across Southeast Asia

Singapore to Jakarta without flying

An hour in the air, or five days across the Riau islands and the length of Sumatra.

2 legs · 2 days · 1 border · about $46 all in

Open this route in the planner Change the pace, the beds or the passport and the numbers follow.

Pragmatic routing

Singapore Jakarta overland

2–8days
2legs
1border
$46all in
1d 9hat sea

Singapore to Jakarta is as much a boat journey as an overland one: 2 legs (2 by sea) across 2 countries, with 1 frontier in between. It is 2 days if every connection is there when you reach it, and up to 8 if you arrive the day after one — the difference is waiting for a service that does not run daily, not travelling. The one to watch: Batam Centre to Jakarta (Gambir) does not run every day. The water is the point here rather than a gap in the railway — this is a journey people take deliberately, and the slow version is the good version.

2 timezones: UTC+7, UTC+8

Convert every published time to a single clock in your own notes before you book. Operators publish in their own local time and label it inconsistently.

Stations that catch people out

  • Singapore (HarbourFront) Rail dead end. Everything onward from here is a boat.

Other ways round

The recommendation is what this planner would do with no further information. These are the genuinely different journeys between the same two points — not the same route with a station moved, which is why there are two of them and not ten. This page is written around the recommended one; open another in the planner to get its own crossings, nights and costs.

  • Recommended showing

    Through Singapore, Indonesia

    1d 11h moving 2 days $46 2 legs

    Rails as far as they go, a boat where the land ends.

  • Alternative 1

    Through Malaysia, 12h road Pekanbaru to Palembang

    2d 10h moving 5 days $182 12 legs

    3 days longer, $136 dearer and 18 h more on a road.

    Open this one in the planner
  • Alternative 2

    Through Malaysia, 12h road Pekanbaru to Palembang

    2d 12h moving 5 days $189 11 legs

    3 days longer, $143 dearer and 18 h more on a road.

    Open this one in the planner

The route

Durations are typical scheduled running times, not departures, and the figure under each service is how often it runs — the number that decides whether a missed connection costs you an hour or a day. Where a last departure is shown it is the one worth setting an alarm for. No planner in this region can give you a departure time you should trust: the operators publish nothing in common. Take these legs to the booking sites below and read the real clock there.

Leg & operatorTimeFare
1 Singapore (HarbourFront) Batam Centre Riau / Straits ferries Reported HarbourFront or Tanah Merah fast ferry 20 a day · roughly hourly from HarbourFront and Tanah Merah last 21:00 This is how you get past Singapore's dead end. Full immigration both ends. No bookable site of its own — try 12Go12go.asia 1h $18
Change at Batam Centre allow 2 h minimum Ferry to ferry at the same terminal
2 Batam Centre Jakarta (Gambir) Pelni Reported Pelni KM Kelud (Batu Ampar – Tanjung Priok)Economy berth about weekly · the Jakarta sailing is normally the Wednesday one; the rotation alternates via Tanjung Balai Karimun and Bintan The reason not to cross Sumatra by coach. Batu Ampar to Tanjung Priok in about a day and a third, arriving in Jakarta itself rather than at the far end of three bus days. Economy is a berth in an open dormitory from around $26; a cabin is roughly $80. Book ahead around Idul Fitri, when this ship is how a good part of Sumatra goes home. Book with Pelnipelni.co.id 1d 8h $28

What stops running, and when

Not a timetable — this planner will not print a departure time it cannot stand behind, and no two operators here publish in a way that would let it. This is the other half of the question, and the half that strands people: which legs stop for the day, and how late. Nobody misses a connection for want of knowing the 14:05 existed. They miss it because the last boat went at 17:00.

LegRunsLast
Singapore (HarbourFront) Batam Centre HarbourFront or Tanah Merah fast ferry roughly hourly from HarbourFront and Tanah Merah 21:00

Day by day

Shape, not a timetable. This is built from running times, the connection buffers above and your chosen pace — it deliberately states no departure time, because none of these operators publish one this page could stand behind. Use it to decide how many nights to book and where; use the operator sites for the clock.

Day 1 1d 11h moving
  • Singapore Batam HarbourFront or Tanah Merah fast ferry 1h
  • Batam Jakarta Pelni KM Kelud (Batu Ampar – Tanjung Priok) 1d 8h
Night aboard — Pelni KM Kelud (Batu Ampar – Tanjung Priok)
Day 2
Step off in the morning at Jakarta

Where you sleep

Every night on this route is spent moving — 1 aboard a sleeper, a bed already inside the fare. Nothing to book and nothing to pay.

Border crossings

Itineraries die at frontiers, not on track. Never plan one of these without checking the current position for your own passport.

Singapore ↔ Batam

Singapore ↔ Indonesia
Where
Ferry terminal — immigration at the terminal, not on the boat
On the train?
n/a
Luggage
Yes
Visa
Indonesian visa-on-arrival or e-VOA is available to many nationalities at the main Batam terminals. Confirm the specific terminal is an international checkpoint.
Cash on the far side
Indonesian rupiah.
Time cost
About 60 minutes of formalities

The trap. Some Riau ferry terminals are domestic-only. Arriving at the wrong one wastes a day.

Where this breaks

Ranked by what actually ends trips, not by probability. A missed last connection costs a day and an unplanned hotel; a missed afternoon connection costs an afternoon.

  1. caution

    Batam Centre to Jakarta (Gambir) does not run every day

    This one goes about weekly — the Jakarta sailing is normally the Wednesday one; the rotation alternates via Tanjung Balai Karimun and Bintan. The days and the cost above are running times and fares: they do not include waiting for the next departure, because that depends on which day you arrive. On a weekly service that wait can be most of a week, and it is the difference between the length of the journey and the length of the trip.

    What to do. Find the sailing or departure date first and build the rest of the itinerary backwards from it, rather than planning the route and looking up this leg last.

  2. note

    The Singapore (HarbourFront) – Batam Centre boat is weather-dependent

    Ferries are cancelled rather than delayed, and a cancellation costs a day rather than an afternoon.

    What to do. Never make this crossing the only path to a fixed commitment. Leave a slack day between it and any flight home.

  3. note

    The Batam Centre – Jakarta (Gambir) boat is weather-dependent

    Ferries are cancelled rather than delayed, and a cancellation costs a day rather than an afternoon.

    What to do. Never make this crossing the only path to a fixed commitment. Leave a slack day between it and any flight home.

Booking sequence

Book in order of scarcity times window length, not in the order you travel. The shortest leg on the whole spine sells out first.

  1. 1

    Sea legs

    Mostly turn-up-and-go

    Langkawi and Samui routes are worth pre-booking in season, the Mekong slow boat the day before you sail, and the Philippine RORO crossings not at all — they are grounded or they are running.

  2. Everything else on this route, in no particular hurry:

  3. ·

    Pelni

    Books online and through the Pelni app, and sells at the port. Economy is a numbered berth in an open dormitory; the cabin classes are a few dollars more and worth it on anything overnight.

    Book with Pelnipelni.co.id
  4. ·

    Riau / Straits ferries

    Operators on the Straits routes change often. Check what is currently sailing before you commit to a date.

    No bookable site of its own — try 12Go12go.asia

Where an operator cannot be booked from abroad — the Laos–China Railway above all — an aggregator is the practical route in. They add a fee, and some sell tickets they do not yet hold and buy them when inventory opens, which is a genuine cancellation risk on a scarce sleeper. Prefer the operator wherever the operator actually works, which is most of the time.

No affiliate links on transport. Every booking link above goes straight to the operator or aggregator and earns this project nothing. The operator's own site is listed first because it is usually cheaper and always more reliable, not because of what it pays — that ordering is the most load-bearing judgement on this page and it is not for sale. Booking URLs were last reviewed 2026-07 and are not machine-checked — if one is dead, search the operator name rather than trusting a reseller that ranks well.

Where it does earn. The hotel links in “Where you sleep” and the insurance link below pay a commission, at no extra cost to you. They are marked as paid links. Nothing about them changes a route, a price, or the order of anything: no hotel is recommended over another and no leg is routed differently because of them.

Costs

Transport, 2 legs$46
Accommodation, 0 nights$0
1 night on a sleeper — a bed you already paid for in the fareincluded
Total$46

Against flying

2 days, $46, 2 legs versus a flight of roughly 1h 52m gate to gate at somewhere around $61–127. That fare band is estimated from the 893 km great-circle distance, not from live inventory — check it.

On a trip this short the train is genuinely competitive, and it puts you in the middle of a city rather than an hour outside one.

Photography

Network reviewed 2026-07. No leg on this route is currently flagged as volatile. Cross-check anything time-critical against the operator and against Seat61 before you book. Fares are indicative.

Plan your own version of this route