Indonesia spans more than 5,000 kilometres, so the first question is never how to get somewhere but whether it belongs in this trip at all. Java and Bali link together comfortably. Sumatra, Kalimantan, Sulawesi, Nusa Tenggara and Papua each turn an add-on into a flight, and two islands done properly beat four done from departure lounges.
Java is the exception, because it has real rail. The line runs the length of the island, and the Jakarta–Yogyakarta and Yogyakarta–Malang stretches are comfortable, punctual and cheap at roughly €8 to €25 depending on class. Book through the operator's own channel rather than a reseller, take the executive class for daytime legs of five hours or more, and remember that the commuter network around Jakarta and between Yogyakarta and Solo is a separate, much cheaper system.
Ferries look like the romantic option and behave like weather. The short crossings — Banyuwangi to Gilimanuk for Bali, Bali to the Gilis and Lombok — run frequently and cost very little, and supported ASDP routes are bookable in advance through Ferizy. Longer sailings are slow, exposed to conditions and cancelled without much notice, so use them where they are genuinely short and fly the rest.
Domestic flights are what actually connect the archipelago, and they are inexpensive: Jakarta or Bali to Labuan Bajo is around €40 to €90, and Java to Kalimantan is similar. The catch is that airlines, ferries, boats and drivers do not protect one another. Every connection you make on separate tickets is your own risk, so leave a night before an international departure rather than a tight afternoon. In town, Gojek and Grab handle bikes and cars on a metered fare with nothing to haggle over, at €1 to €2 for a bike hop and €2 to €6 across a city.
Sources
- KAI Commuter network and fares, PT Kereta Commuter Indonesia, accessed
- Ferizy ferry ticketing for ASDP routes, PT ASDP Indonesia Ferry (Persero), accessed
- Indonesia destination guide, Ministry of Tourism, Republic of Indonesia, accessed