Indonesia is an archipelago of more than 17,000 islands, so "overland" here really means overland-and-over-water: a genuinely enjoyable way to cross Java and reach Bali using trains, buses and short ferry hops, skipping the country's cheap but disconnected domestic flight network in favour of watching the landscape — volcanoes, rice terraces, coastline — change gradually instead of from 30,000 feet.
Java by train: the backbone of the route
Java has by far Indonesia's best rail network, run by KAI (Kereta Api Indonesia), and it is genuinely good — modern, air-conditioned, reasonably punctual trains connecting the island's major cities along two main corridors: a northern line via Semarang and a southern line via Yogyakarta and Solo, both eventually reaching Surabaya in the east.
Key routes for an overland itinerary:
- Jakarta to Yogyakarta: around 7–8 hours on the better express services, passing through central Java's volcanic landscape. Yogyakarta (often just "Jogja") is the cultural heart of Java and the base for visiting Borobudur and Prambanan, two of South-East Asia's great temple complexes — see our Jakarta to Yogyakarta route guide for how the train compares with flying.
- Yogyakarta to Surabaya: around 5 hours, continuing east toward the crossing to Bali.
- Jakarta to Bandung: a shorter, popular route (around 3 hours) through West Java's hill country, often used as a weekend trip from the capital.
Trains have several classes — economy, business and executive — with executive offering reclining seats, air conditioning and the most comfortable ride; the price difference between classes is modest and executive is worth it for longer daytime journeys. Tickets are bookable online through KAI's own platform or English-language aggregators, and booking a few days ahead is sensible for popular routes and holiday periods, particularly around Lebaran (Eid), when domestic travel surges nationwide.

From Surabaya to Bali: bus and ferry combined
There is no bridge or train link to Bali — the crossing from Java is made by ferry across the narrow Bali Strait, between Ketapang (near Banyuwangi, at Java's eastern tip) and Gilimanuk on Bali's western coast. The crossing itself takes well under an hour, but it is a well-oiled, frequent operation running around the clock, handling a constant stream of buses, trucks and cars as well as foot passengers.
Long-distance buses run through-tickets from Java cities (Surabaya, Yogyakarta, even Jakarta) directly to Bali destinations like Denpasar or Ubud, with the bus itself boarding the ferry as part of the journey — you often don't need to disembark or handle the crossing separately, since the whole bus rolls on and off. Our dedicated ferries in Indonesia guide covers this crossing and others around the archipelago in more detail. This makes the Java-to-Bali leg simpler in practice than the logistics might suggest: buy one ticket, and the operator handles the ferry connection.
Getting around Bali
Bali has no railway, and public buses are limited outside a few routes — most travellers get around by hired scooter, private driver, or increasingly ride-hailing apps (Gojek and Grab both operate on the island), which are inexpensive and straightforward for point-to-point trips between towns like Ubud, Canggu and the southern beach areas. Shuttle bus and minivan services also run fixed routes between the main tourist areas and are a practical, inexpensive option if you'd rather not drive or ride a scooter on Bali's often-chaotic roads.
Beyond Bali: onward island-hopping
For travellers continuing east, frequent fast boats run from Bali's Padang Bai and Sanur harbours to the Gili Islands and Lombok, generally taking somewhere in the region of 1.5–2.5 hours depending on the operator and exact destination. Further east again, ferries and the occasional longer voyage connect Lombok toward Sumbawa, Flores and beyond — the classic overland-and-over-water route into eastern Indonesia, which becomes progressively more adventurous and less infrastructure-heavy the further east you go, and is a trip in its own right rather than a simple extension of the Java–Bali route. See our wider South-East Asia overland guide for how this fits into a longer regional trip, and check current entry rules with our Indonesia entry requirements guide before you travel.
Why go overland rather than fly
Domestic flights within Indonesia are often very cheap and can save days on longer hops, and plenty of travellers mix flying for the big distances with overland travel for specific sections. The case for the Java–Bali overland route specifically is less about saving money — buses and trains aren't always dramatically cheaper than a budget flight once you count accommodation along the way — and more about the journey itself: Java's volcanoes and rice terraces from a train window, the ordinary local life of towns like Yogyakarta and Banyuwangi that a flight skips entirely, and the satisfaction of watching the geography change gradually from Jakarta's sprawl to Bali's temples.
Practical tips
- Buy Java train tickets a few days ahead where possible, particularly for executive class and around Indonesian public holidays.
- Confirm whether a bus ticket to Bali includes the ferry — most through-tickets from major Java cities do, but always check when booking to avoid confusion at Ketapang.
- Carry small rupiah notes for local transport connections, snacks at train stations, and incidental costs at ferry terminals.
- Plan extra time around Lebaran (Eid al-Fitr) — this is Indonesia's biggest domestic travel period, and trains, buses and ferries are all heavily booked for roughly a week either side.
Frequently asked questions
Can you get from Jakarta to Bali without flying?
Yes — by train across Java to Surabaya or Banyuwangi, then a short ferry crossing (under an hour) from Ketapang to Gilimanuk on Bali. Many long-distance buses run this whole route as a single through-ticket, handling the ferry connection for you.
How long does the Java to Bali ferry take?
The Ketapang–Gilimanuk crossing itself takes well under an hour, though total journey time including boarding and disembarkation can run somewhat longer. Buses carrying passengers typically board the ferry directly, so the crossing feels like a short pause in a longer bus journey rather than a separate leg.
Is Java's train network comfortable for tourists?
Yes — KAI's executive-class trains are modern, air-conditioned and comfortable for the network's main intercity routes (Jakarta, Yogyakarta, Surabaya). It's a genuinely pleasant way to see central Java's volcanic countryside.
How do I get around once I'm in Bali?
Bali has no railway. Most visitors use a hired scooter, a private driver, ride-hailing apps like Gojek or Grab, or fixed-route shuttle minivans between the main tourist towns.
Sources and further reading:
- Train timetables and tickets: Kereta Api Indonesia (kai.id).
- Route detail: The Man in Seat 61.
- Onward island-hopping planning: Wonderful Indonesia (indonesia.travel).
