OverlandSEA

Rail-first journey planning across Southeast Asia

Singapore to Bali without flying

Land and sea the whole way, across two countries and four ferries.

12 legs · 8 days · 1 border · about $283 all in

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

Pragmatic routing

Singapore Bali overland

8days
12legs
1border
$283all in
1d 5hon rails
9h 45mat sea
21hby road

Singapore to Bali is a rail journey for part of its length and an honest slog for the rest: 12 legs (4 on rails, 4 by sea, 4 by road) across 2 countries, with 1 frontier in between. The one to watch: Batam Centre to Dumai is not a service we can stand behind. Be clear-eyed about the 12h coach from Pekanbaru to Palembang — there is no railway on that corridor and no way to dress the bus up as anything else.

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.
  • Probolinggo The usual railhead for Bromo. The crater rim is a jeep ride beyond Cemoro Lawang.
  • Banyuwangi (Ketapang) The ferry pier is beside the station. This is what makes "Singapore to Bali overland" literally true.

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 Dumai Riau / Straits ferries Verify Riau inter-island ferry several · daylight hours; the international routes far less often Schedules and operators on the Riau routes change often. Verify before you rely on it. No bookable site of its own — try 12Go12go.asia 6h $30
Change at Dumai allow 90 min minimum Same terminal, different operators — no through ticketing, no held connection
3 Dumai Pekanbaru Long-distance coach Reported Coach several · through the day, with overnight departures on the long runs No bookable site of its own — try 12Go12go.asia 3h $8
Change at Pekanbaru allow 30 min minimum Same station, same operator, seat to seat
4 Pekanbaru Palembang (Kertapati) Long-distance coach Reported Long-distance coach 4 a day · mostly overnight No bookable site of its own — try 12Go12go.asia 12h $20
Change at Palembang (Kertapati) allow 90 min minimum Same station, different operators — no through ticketing, no held connection
5 Palembang (Kertapati) Bandar Lampung (Tanjungkarang) KAI Reported Rajabasa / Sriwijaya frequent · Java's main corridors run all day South Sumatra's isolated network. Pleasant, and a relief after the coaches. Book with KAIbooking.kai.id 9h $8
Change at Bandar Lampung (Tanjungkarang) allow 2 h minimum Arriving off a sleeper onto a long-distance departure
6 Bandar Lampung (Tanjungkarang) Bakauheni Damri Reported Damri bus frequent · through the day, often sold with the ferry Book with Damridamri.co.id 2h $4
Change at Bakauheni allow 4 h minimum Onward ferry reached by road transfer
7 Bakauheni Merak ASDP Indonesia Ferry Reported ASDP ferry every 30–60 min · around the clock Very frequent, around the clock. Usually taken as a through bus-plus-ferry ticket. Book with ASDPferizy.com 2h $1.5
Change at Merak allow 90 min minimum Same terminal, different operators — no through ticketing, no held connection
8 Merak Jakarta (Gambir) KAI Reported KAI Commuter via Rangkasbitung 12 a day · KAI Commuter via Rangkasbitung, roughly hourly Book with KAIbooking.kai.id 3h 30m $1
Change at Jakarta (Gambir) allow 30 min minimum Same station, same operator, seat to seat
9 Jakarta (Gambir) Surabaya (Gubeng) KAI Reported KAI north-coast line frequent · Java's main corridors run all day via Cirebon · Semarang Book with KAIbooking.kai.id 10h $20
Change at Surabaya (Gubeng) allow 30 min minimum Same station, same operator, seat to seat
10 Surabaya (Gubeng) Banyuwangi (Ketapang) KAI Reported Mutiara Timur / Probowangi 8 a day · through the day via Probolinggo · Jember Book with KAIbooking.kai.id 6h 30m $8
Change at Banyuwangi (Ketapang) allow 2 h minimum Rail to ferry in the same town
11 Banyuwangi (Ketapang) Gilimanuk ASDP Indonesia Ferry Structural ASDP Ketapang–Gilimanuk every 30–60 min · around the clock, all year Runs around the clock, pier beside the station. The dawn crossing is the one people remember. Book with ASDPferizy.com 45m $1
Change at Gilimanuk allow 90 min minimum Same terminal, different operators — no through ticketing, no held connection
12 Gilimanuk Denpasar Local transfer Reported Bus / private car on demand · taxis, tuk-tuks and songthaews wait at the station; nothing to time Pay on the spot 4h $10

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 10h 30m moving
  • Singapore Batam HarbourFront or Tanah Merah fast ferry 1h
  • Batam Dumai Riau inter-island ferry 6h
Night in Dumai
Day 2 3h 30m moving
  • Dumai Pekanbaru Coach 3h
Night in Pekanbaru
Day 3 1d 0h moving
  • Pekanbaru Palembang Long-distance coach 12h
  • Palembang Bandar Lampung Rajabasa / Sriwijaya 9h
Night aboard — Rajabasa / Sriwijaya
Day 4 9h 30m moving
  • Bandar Lampung Bakauheni Damri bus 2h
  • Bakauheni Merak ASDP ferry 2h
Night in Merak
Day 5 4h moving
  • Merak Jakarta KAI Commuter via Rangkasbitung 3h 30m
Night in Jakarta
Day 6 10h 30m moving
  • Jakarta Surabaya KAI north-coast line 10h
Night in Surabaya
Day 7 10h 45m moving
  • Surabaya Banyuwangi Mutiara Timur / Probowangi 6h 30m
  • Banyuwangi Gilimanuk ASDP Ketapang–Gilimanuk 45m
Night in Gilimanuk
Day 8 4h moving
  • Gilimanuk Bali Bus / private car 4h
Arrive

Where you sleep

Priced where the journey actually stops, not averaged across the region — the difference between a night in Siem Reap and a night in Singapore is a factor of five, and it is worth seeing before you book. Figures are indicative low-season rates for a room booked a week or two out; the totals below use the simple private room band. 1 further night is spent aboard, already inside the fare.

  • Dumai night of day 1 $25
    $8hostel bed$25simple private room$55good mid-range hotel
  • Pekanbaru night of day 2 $25
    $8hostel bed$25simple private room$55good mid-range hotel
  • Merak night of day 4 $25
    $8hostel bed$25simple private room$55good mid-range hotel
  • Jakarta night of day 5 $28
    $9hostel bed$28simple private room$60good mid-range hotel
  • Surabaya night of day 6 $25
    $8hostel bed$25simple private room$55good mid-range hotel
  • Gilimanuk night of day 7 $25
    $8hostel bed$25simple private room$55good mid-range hotel

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 Dumai is not a service we can stand behind

    Schedules and operators on the Riau routes change often. Verify before you rely on it.

    What to do. Verify it is running on your date before you build the rest of the itinerary around it.

  2. caution

    Bakauheni needs 4 hours, not a connection

    Onward ferry reached by road transfer. A gap smaller than this is not a connection — it is a missed train with a plausible-looking timetable behind it.

    What to do. Plan an overnight stop here rather than trying to make it in one day.

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

  4. note

    The Batam Centre – Dumai 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

    KAI

    ~45 days

    Plentiful, but the Bandung and Yogyakarta services fill at weekends.

    Good site, bookable from abroad. The Access by KAI app is easier once you are in Indonesia.

    Book with KAIbooking.kai.id
  2. 2

    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.

  3. 3

    Road legs

    Walk-up, except the long coaches

    The Vientiane–Hanoi sleeper coach and the Sumatra runs are worth a day or two ahead.

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

  5. ·

    ASDP Indonesia Ferry

    Ferizy is ASDP's official booking platform. Crossings are frequent enough that walking up usually works too.

    Book with ASDPferizy.com
  6. ·

    Damri

    Indonesia's state bus operator. Often sold as a through ticket with the ferry.

    Book with Damridamri.co.id
  7. ·

    Local transfer

    Taxi, tuk-tuk, songthaew or minivan at the station. Agree the fare before you get in.

    Pay on the spot
  8. ·

    Long-distance coach

    Several operators run these corridors at varying quality. An aggregator is the sane way to compare them.

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

    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, 12 legs$130
Accommodation, 6 nights — Dumai $25, Pekanbaru $25, Merak $25, Jakarta $28, Surabaya $25, Gilimanuk $25$153
1 night on a sleeper — a bed you already paid for in the fareincluded
Total$283

Against flying

8 days, $283, 12 legs versus a flight of roughly 2h 51m gate to gate at somewhere around $89–185. That fare band is estimated from the 1678 km great-circle distance, not from live inventory — check it.

The plane wins on time and often on money. People take this route because the overland journey is the thing they want, not because it is efficient. If that is not you, fly — and there is no shame in the sleeper one way and the plane home.

If you have more time

Where the slow-travel value actually is — the detours that turn a transit into a trip.

  • Swap the north coast for Bandung and Yogyakarta

    +2 hours moving, +2 nights

    The router picked the north-coast line through Semarang because it is the quicker way across Java. The southern route — Whoosh to Bandung, then the Argo Wilis through the hills to Purwokerto and Yogyakarta — is slower, prettier, and puts you within reach of Borobudur and Prambanan. On a journey taken deliberately by land, that is usually the better trade.

  • Take the dawn crossing to Bali

    +0 nights

    The Ketapang–Gilimanuk ferry runs around the clock, so you can choose your moment. Choose first light.

Photography

Network reviewed 2026-07. 1 leg on this route is marked Verify — those are the ones to confirm first. Cross-check anything time-critical against the operator and against Seat61 before you book. Fares are indicative.

Plan your own version of this route