Jakarta to Bali 2026: The Perfect Guide to Flights, Buses, & Ferries

Planning a trip from Jakarta to Bali? Discover the absolute best options, costs, and expert tips for booking a flight, train, bus, or ferry for a smooth, stress-free journey. (CLICK HERE)

Jakarta to Bali is one of the most common jumps in Indonesia, and you have three real options: fly, take a long-distance bus, or go overland by train, ferry and onward bus. Flying takes about two hours in the air. The bus and the train route both take the best part of a day or more.

The reason overland travel takes so long is geography. Java and Bali are separated by the Bali Strait, so anything that doesn’t fly has to cross by ferry between Ketapang in East Java and Gilimanuk in western Bali. There is no direct train from Jakarta into Bali. The railway ends at Ketapang.

The best choice comes down to your budget, your time, how comfortable you want to be, how much luggage you have, where in Bali you’re headed, and whether you’d rather fly or stay on the ground. I took the bus, a very long ride, and I’ll tell you what it was like.

Infographic comparing travel times, costs, and options for flights, buses, and trains from Jakarta to Bali.
A quick breakdown of your transport options, travel times, and estimated costs.

Jakarta to Bali: A Quick Transport Comparison

Here’s the overview before the detail. Every figure is a planning estimate, not a guaranteed fare.

TransportTravel timeApproximate cost (IDR, per person, one way)Best for
FlightAbout 2 hours in the air, plus airport timeAirfare only: roughly 1.25–2.4 million. Airport transfers and baggage fees are extraSaving travel time
Intercity busRoughly 20–28 hours, depending on traffic and the serviceRoughly 530,000–790,000, with fares starting around 480,000. I paid around 610,000 on Debe Trans, with two meals includedA through-ticket on a budget
Train + ferry + busRoughly 22–26 hours, including connection waitsEconomy: about 596,000–676,000. Executive: about 861,000–1.23 million. Separate bookings are requiredTravelers who prefer overland travel by rail

A few things to keep in mind:

  • Overland times aren’t fixed. Train connections, ferry queues, road traffic and onward transport all change the total.
  • The flight’s two hours is the time in the air only. Door to door is longer.
  • The rail total includes every main leg: two train tickets, the ferry and the onward bus.
  • All prices are per adult, one way. Bus and rail fares are per seat, not per booking.

Traveling from Jakarta to Bali by Train, Ferry and Bus

This is the most involved way to do it. You take a train from Jakarta towards Ketapang in Banyuwangi, cross the Bali Strait by ferry, and continue by bus to Denpasar or another part of Bali. The rail part usually needs a transfer, as there is no direct train from Jakarta to Ketapang.

I haven’t named individual trains or timetables here because they change. Check the available options before booking.

Train Classes Available for the Journey

On the rail sections of this trip, you’ll generally choose between a few classes. Which ones exist depends on the service and the section when you book, so don’t assume every class is available on every leg.

  • Economy: The cheapest option, with basic seating and the least legroom. It’s fine for a daytime ride but gets tiring on a long one.
  • Business, where available: Some services offer it as a middle option. Fares depend on the service.
  • Executive: More padded, reclining seats and more legroom, with better facilities. It costs noticeably more.

Approximate prices for a sample day, 21 October 2026:

LegEconomy (IDR)Executive (IDR)
Jakarta to SurabayaAbout 320,000–390,000About 520,000–880,000
Surabaya to KetapangAbout 215,000About 280,000

The Jakarta to Surabaya ranges are wide because they cover different services on the same day. Choosing executive roughly doubles the rail cost, and you can mix classes if you want to splurge on one leg.

Because the journey needs a transfer, you may have to book two separate rail tickets, so check the connection time before you pay. Make sure the second ticket actually ends at Ketapang, since some tickets stop earlier on the line.

Taking the Ferry from Ketapang to Gilimanuk

The ferry links Java and Bali. Ketapang Port is in Banyuwangi, East Java, and the crossing ends at Gilimanuk Port on the western tip of Bali. This is the ferry crossing you’ll use when travelling overland from Java to Bali.

  • Getting to the port: Ketapang station is roughly a 10-minute walk from the ferry terminal.
  • Crossing time: About 45 to 60 minutes. Allow around 2 to 3 hours for the whole process, including reaching the port, boarding, crossing and getting off.
  • Frequency: Ferries run around the clock, with frequent departures.
  • Foot-passenger fare: Budget around IDR 10,600 for an adult, but check the current fare before travelling.
  • Booking: The official ASDP platform is Ferizy. Check the current ticket requirements, luggage rules and fares before booking.
  • Queues and delays: Waiting and loading can take much longer than the sailing itself, especially around holidays.

If you’re crossing on foot after the train, you’ll need to arrange your own ferry ticket. If you’re on a through-ticket bus, confirm whether the crossing is already covered before buying anything extra.

Getting from Gilimanuk to Denpasar or Other Parts of Bali

Arriving at Gilimanuk doesn’t mean you’ve arrived. It’s at the far western tip of the island, and most travellers are headed somewhere much farther away.

  • Towards Denpasar: Gilimanuk to Terminal Ubung is about 123 km and can take roughly 3.5 to 4 hours. You may also find minibuses to Terminal Mengwi, which connects to the main destinations.
  • Onward fare: Budget roughly IDR 50,000–60,000 for the bus towards Denpasar, but check the current fare before travelling.
  • Ubud, southern Bali and beyond: Expect another connection from Denpasar, which adds time and cost.

Think about your final destination before choosing this route. A bus to Denpasar may not take you anywhere near your accommodation, so check the onward transport before you go.

Total Cost of Traveling from Jakarta to Bali by Train, Ferry and Bus

To budget this route properly, add every stage:

  • Train from Jakarta towards the transfer point
  • Train from the transfer point to Ketapang
  • Ferry from Ketapang to Gilimanuk
  • Bus from Gilimanuk towards Denpasar
  • Any local transport between stations, ports and terminals, which isn’t included below

Here’s the one-way, per-adult estimate by class, with the same class used on both rail legs:

Rail classTotal rail faresFerry fareOnward bus fare (rough)Total journey cost
Economy535,000–605,00010,60050,000–60,000About 596,000–676,000
Business, where availableNot confirmed10,60050,000–60,000Not calculated
Executive800,000–1,160,00010,60050,000–60,000About 861,000–1,231,000

These are estimates, and fares can differ when you book. Local transport, such as getting between stations, ports and terminals, is on top, and I haven’t priced it.

Is the Train, Ferry and Bus Route Worth It?

For most people, honestly, the Jakarta to Bali train route probably isn’t worth it. Economy rail plus the ferry and bus lands at roughly IDR 596,000–676,000, which overlaps with the listed bus fares of IDR 530,000–790,000.

So you’re not clearly saving money, and you take on two rail bookings, a ferry crossing, an onward bus, more luggage handling and more places for things to go wrong. A single delay can cost you a connection.

It makes sense if you specifically want to cross Java by rail, or if you want to break the trip into stages. If you just want to get to Bali, a through-ticket bus or a flight is simpler.

Traveling from Jakarta to Bali by Bus

The Jakarta to Bali bus is the overland option that doesn’t ask you to juggle tickets. One booking covers the whole route, including the ferry crossing at Ketapang and Gilimanuk, which is a big reason it’s popular with travellers.

  • Journey time: Roughly 20 to 25 hours on some services, although other journeys can take 22 to 28 hours. Plan on about a day and then some. Road traffic can push it longer.
  • Ticket prices: Roughly IDR 530,000–790,000, with cheaper fares sometimes available from around IDR 480,000, depending on class and facilities.
  • Seating and comfort: Most services have reclining seats and air conditioning, with more legroom as you pay more.
  • Rest stops: Long-distance buses stop along the way, and some fares include meals.
  • Luggage: Check the operator’s conditions before booking.

My Own Experience

A Debe Trans long distance bus parked at a rest stop during the overland journey from Jakarta to Bali.
The Debe Trans bus I took for the long overland ride across Java and onto the ferry.

I travelled from Jakarta to Bali with Debe Trans and paid IDR 610,000 for the journey. The ticket included two meals and water bottles, which was helpful considering how long the journey was. The operator also provided blankets, which made it a little more comfortable during the overnight part of the trip.

However, even with these little comforts, the journey was tiring. You spend a long time sitting on the bus, so I’d recommend bringing your headphones, downloading something to watch, and keeping anything you might need during the journey within easy reach.

The bus also takes the ferry from Java to Bali. During the crossing, passengers were able to go up to the ferry’s upper deck, giving us a chance to stretch our legs and enjoy the views before continuing the journey.

Do Bus Tickets from Jakarta to Bali Include the Ferry?

It depends on the operator, so check the conditions of your actual service. The ferry is often included in bus fares to Denpasar, but don’t assume it’s true for every fare.

Before paying, find out:

  • Whether the ferry crossing is included in the advertised price
  • Whether you’ll need to buy a ferry ticket yourself
  • How boarding works, and whether passengers stay on the bus or follow separate instructions
  • Whether you’ll be switching to a different bus

On a bus I took from Surabaya to Bali, with a different operator, everyone was told to get off and wait on the ferry’s upper deck, and we weren’t allowed back on until we reached Gilimanuk. Yours might work differently, so ask.

Where Do Buses Depart from Jakarta and Arrive in Bali?

Don’t assume every bus leaves from the same place or arrives at the same spot.

  • Jakarta: Departure points can include Cililitan, Pondok Pinang, Kalideres, Kampung Rambutan, Lebak Bulus and Pulo Gebang. Operators may also use their own pickup points.
  • Bali: Drop-off points can include Gilimanuk, Mengwi Terminal, Tabanan, Negara and Denpasar. Some services also stop at Ubung.

Where you end up decides how much more travelling you still have to do. Dropping off in Mengwi or Denpasar still leaves a ride to Ubud or the beach.

Which Bus Should You Choose?

Standard and higher-comfort buses differ in seat layout, reclining, legroom, air conditioning, luggage handling, journey time and price.

The lowest fare isn’t always the best pick. A cheap ticket can come with a less convenient departure point or a drop-off far from where you’re staying. I used a budget operator and it worked out, but I can’t vouch for the rest, so compare a few for your date.

How to Book Bus Tickets

  • Compare services on a platform that lists the route, such as redBus or Traveloka, or book directly with an operator.
  • Check the Jakarta departure point, the Bali destination, whether the ferry is included and the luggage rules.
  • Compare both fare and journey time, not just price.

Traveling from Jakarta to Bali by Plane

Flying is the quickest way. The Jakarta to Bali flight connects Soekarno–Hatta International Airport (CGK) and Ngurah Rai International Airport (DPS), and takes about two hours in the air.

But the time in the air is only part of it, because you also need airport transfers, check-in, security, baggage collection and a ride onward in Bali.

Are There Direct Flights from Jakarta to Bali?

Yes. CGK is Soekarno–Hatta in Jakarta, and DPS is Ngurah Rai in Bali. Direct flights operate on this route, with flight times generally around 1 hour 55 minutes to 2 hours.

Routes, airlines and departure times change, so check the date you want to travel and don’t count on any one flight always existing.

What the airfare costs. For a one-way flight, budget roughly:

  • Cheapest fares: Around USD 71–112, roughly IDR 1.27–2.0 million.
  • Typical fares: Around USD 70–135, depending on the airline and booking date.
  • A realistic planning range for the airfare: About IDR 1.25–2.4 million.

That’s airfare only. The ride to the airport, the ride from Ngurah Rai and any baggage fees come on top, and I haven’t priced those. Fares vary with airline, time of day and how early you book.

Which Airport Should You Use in Jakarta?

Soekarno–Hatta (CGK) is the airport to look at for flights to Bali. It’s on the western edge of Greater Jakarta, outside the city proper, and Jakarta traffic makes the trip from the centre unpredictable.

Leave a generous buffer for check-in and security.

How Much Time Should You Allow for the Flight?

Think of the trip in pieces: getting to Soekarno–Hatta, an arrival buffer, check-in and security, about two hours in the air, baggage collection, and then the ride from Ngurah Rai to where you’re staying.

Flying is usually the fastest option, but the final stretch depends on where in Bali you’re going, since Ubud or Canggu are not next to the airport.

How to Book Flights

  • Compare fares and departure times across airlines.
  • Check the baggage allowance and the total price including bags.
  • Book with the airline or a reputable travel platform.

A cheaper base fare isn’t always better value if extra luggage or an awkward departure time adds to the real cost.

Which Is the Best Way to Travel from Jakarta to Bali?

Best Option for Budget Travelers

Compare current fares before booking. A through-ticket bus is often the simplest overland option because it can cover the ferry crossing in one booking. The train route may appeal more if you want to travel across Java by rail, but remember to budget for every connection and onward transfer.

Best Option for Saving Time

Flying. Two hours in the air beats a day or more across Java and the ferry, even once you add the airport time on both ends.

Best Option for Comfortable Overland Travel

A through bus has one booking and no transfers, but you’re sitting for a very long time. The rail route lets you pick executive class and stretch out on the train, but you’ll handle more connections, luggage changes and a separate bus at the end.

Choose based on how much you value seat comfort versus fewer transfers.

Best Option for Reaching Different Parts of Bali

Your destination matters. Flying puts you at Ngurah Rai in the south. Overland, you might arrive around Gilimanuk, or at a terminal such as Mengwi or Denpasar, and Ubud or southern Bali can mean more travel after that.

Practical Tips for Traveling from Jakarta to Bali

Check Your Luggage Allowance

Rules differ between trains, buses, the ferry and airlines. Check the limits before booking, especially if you’re combining different forms of transport.

Book Ahead During Busy Periods

Popular trains, buses and flights can fill up around holidays, so book early.

Remember the Time Difference

Bali follows Central Indonesia Time (WITA), one hour ahead of Jakarta’s Western Indonesia Time (WIB). Check local times when planning your connections.

Frequently Asked Questions About Jakarta to Bali

What is the best way to travel from Jakarta to Bali?

It depends on your priorities. Flying saves the most time, a through bus is the simplest overland choice, and the train, ferry and bus route suits travellers who specifically want to go by rail.

How long does it take to travel from Jakarta to Bali?

A flight takes about 2 hours in the air, plus airport time. Overland, allow roughly 20–28 hours by bus or 22–26 hours by train, ferry and onward bus. Delays can make either journey longer.

Is there a direct train from Jakarta to Bali?

No. The railway ends at Ketapang in Banyuwangi, so you need a ferry across the Bali Strait and then a bus in Bali.

Can you travel from Jakarta to Bali by train and ferry?

Yes. Take trains towards Ketapang, which usually means a transfer, cross to Gilimanuk by ferry and continue by bus. These are separate tickets, so coordinate the connections.

Which train classes are available for traveling from Jakarta towards Bali?

Generally, economy and executive, with business class on some services. Availability depends on the service and the leg you’re booking.

How much does the complete train, ferry and bus journey from Jakarta to Bali cost?

Roughly IDR 596,000–676,000 in economy and IDR 861,000–1.23 million in executive, per person one way. These estimates include two rail legs, the ferry and a rough onward bus fare, but exclude local transfers.

Is there a direct bus from Jakarta to Bali?

Yes. Buses run from Jakarta to Bali and cross on the Ketapang–Gilimanuk ferry. Check where the one you pick drops off.

Does a Jakarta-to-Bali bus ticket include the ferry?

Often, but not always. Check your operator’s conditions before booking to find out whether the crossing is included in the ticket price.

How long is the flight from Jakarta to Bali?

About 2 hours in the air. Add airport transfers, check-in, security, baggage collection and the ride onward from Ngurah Rai.

Is the bus cheaper than flying from Jakarta to Bali?

Usually. Buses are listed at roughly IDR 530,000–790,000, against about IDR 1.25–2.4 million for a flight’s airfare alone. But the bus takes a day or more, so compare time as well as price.

Conclusion

Each way of getting from Jakarta to Bali suits a different traveller:

  • Choose the bus for a through-ticket overland trip with one booking.
  • Choose the train, ferry and onward bus if you specifically want to cross Java by rail and don’t mind the extra connections.
  • Choose a flight if saving time matters most.

I took the bus with Debe Trans for around IDR 610,000, with two meals and a water bottle included. It was a very long ride, and I’d only do it again if the budget mattered more than the hours. If you’re short on time or patience, fly.

Planning Your Indonesia Trip?

If you’re putting together a bigger Indonesia itinerary, here’s what else I’ve written:

2 Days in Yogyakarta: A Slow Travel Itinerary for Central Yogyakarta

Where to Stay in Yogyakarta: Best Areas for Every Traveler

Yogyakarta Travel Budget: How Much Does Yogyakarta Cost?

How to Travel from Yogyakarta to Surabaya 2026: The Ultimate Guide

How to Travel from Yogyakarta to Jakarta: Transport Guide 2026

Surabaya to Bali 2026: How to Plan the Perfect Island Journey

Share the article!

Picture of Vishal Hadal

Vishal Hadal

Leave a Reply

Your email address will not be published. Required fields are marked *