
Bali to Jakarta: Flights, Train, Bus & Ferry Compared
Fly Bali to Jakarta in about 1 hr 40 min or go overland by bus, ferry and train. Compare time, cost and arrival logistics before you book.
On this page
Last updated November 2026: Bali to Jakarta is a short hop by air, with a fastest nonstop of 1 hr 40 min and direct flights every day. Going overland by bus, ferry and two trains is possible, but one older traveler account took six days. We compare both routes, then cover what most flight pages skip: which Jakarta airport or station to land at and where to base yourself.
Featured image: Gunawan Kartapranata, CC BY-SA 4.0, via Wikimedia Commons.
Bali to Jakarta quick answer: fly or go overland?
Our verdict is simple. Fly unless you have days to spare and a real reason to cross Java by rail. Flights from Bali's Ngurah Rai (DPS) run daily, and the fastest nonstop is 1 hr 40 min. Overland means a bus, a ferry and two trains, with several transfers. Treat every overland figure below as an older traveler report and check it with the operator before you commit.

| Option | Time | Transfers | Best for |
|---|---|---|---|
| Fly DPS to Jakarta | 1 hr 40 min fastest nonstop, plus airport time | Airport to city only | Most travelers, short trips |
| Overland (bus, ferry, trains) | About six days in one traveler's account, with stops | Four or more | Flight-avoiders, slow travelers |
| Hybrid: fly to Surabaya or Banyuwangi, then train | Verify with KAI | Two or three | Rail fans who want less road time |
Flying from Bali to Jakarta: DPS to Soekarno-Hatta
Nearly every nonstop leaves Ngurah Rai (DPS) and lands at Soekarno-Hatta (CGK). Google Flights lists daily direct service, and most results show about 2 hr in the air. Add check-in, the ride to DPS and the transfer into town, and the flight is not your whole day. Allow a generous buffer on both ends. Terminal and airline allocation can change, so confirm on the Soekarno-Hatta airport site before you travel.

- Garuda Indonesia: 77 weekly nonstop flights, DPS to CGK
- Citilink: 53 weekly nonstop flights, DPS to CGK and HLP
- Indonesia AirAsia: 42 weekly nonstop flights, DPS to CGK
- Lion: 29 weekly nonstop flights, DPS to CGK
- TransNusa: 28 weekly nonstop flights, DPS to CGK
- Batik Air: 28 weekly nonstop flights, DPS to CGK and HLP
When is the cheapest time to fly from Bali to Jakarta?
Google Flights data points to February as the cheapest month and July as the priciest. Its observed weekend-trip fares ran Rp2,500,000–2,950,000 in February and Rp4,250,000–5,100,000 in July. Read those as a pattern, not a quote, because live fares move daily. July also falls in Jakarta's dry season, which runs July to October. Rain returns from October to April. Our guide to the Best Time to Visit Jakarta: Weather, Floods & Crowds covers the calendar. For wet-month planning, see rainy season in Jakarta. Independence Day on August 17 and Ramadan can shift demand, so check the 2026 and 2027 dates before booking.
Airports near Bali and Jakarta: DPS, CGK, HLP and alternatives
Jakarta has two airports on this route. Soekarno-Hatta (CGK) sits 19 km from the center, about 38 min by road in typical conditions. Halim Perdanakusuma (HLP) is 12 km out, about 35 min. Citilink and Batik Air list flights to both. The other nonstop carriers above list CGK only. Our pick is whichever fare lands you closest to your hotel, since traffic matters more than the 3 minutes between them. Operator details sit on the Angkasa Pura Indonesia site, though airport allocation may change. For the hybrid route, Surabaya's Juanda (SUB) is listed 275 km from Bali's center. Banyuwangi (BWX) is listed at 82 km. Verify any such flight and its rail link before booking.
Overland route from Bali to Jakarta, step by step
The overland chain runs Denpasar to Jakarta Gambir in five legs. A bus covers the first stretch of about 4 hours, and a ferry covers the sea crossing. Two trains finish the job. One traveler broke the trip with stops and needed six days. We'd only try it with at least that much slack.
- Taxi or ride-hailing to Ubung bus station in Denpasar
- Bus from Ubung to Gilimanuk, about 4 hours
- Ferry from Gilimanuk to Ketapang near Banyuwangi, 45–60 min, every 15–30 min around the clock
- Train from Banyuwangi to Surabaya, two departures a day
- Train from Surabaya to Jakarta Gambir, about 10 hours
Overland costs, timings and pitfalls

Treat these as older reports, not current fares. One traveler paid Rp75,000 for a bus ticket that included the ferry. Banyuwangi to Surabaya cost Rp100,000 in Bisnis class and Rp140,000 in Eksekutif. Surabaya to Jakarta cost Rp450,000 in Eksekutif. Check today's timetable and fares with KAI. Passports were required for train tickets and again at the station. Surabaya has a trap: tickets were bought at Gubeng, yet the Jakarta train left from Pasarturi. Confirm your departure station on the ticket. Travelers also report touts at Ubung, quoting Rp180,000 for a bus later found for less. A newer Mengwi terminal also confuses people, so ask your operator which one it uses.
Arriving in Jakarta: airport and station transfers
Pick your base before you land. Our guide to 5 Best Areas: Where to Stay in Jakarta helps you match a district to CGK, HLP or Gambir. Then check current airport trains, taxis, ride-hailing and buses on the airport operator's site, as we can't confirm fares here. Our page on Getting Around Jakarta: MRT, TransJakarta, Grab and Gojek covers onward transit. Overland travelers arrive at Gambir station. One older report describes a Bluebird taxi stand about 20 meters from the north exit, with a Rp5,000 queue ticket and another Rp5,000 to leave the station. That process may have changed. Porters have asked for Rp20,000 after carrying bags, so agree a price first.
Which option is best for you?
Fly if your trip is under a week, you carry heavy bags or you have mobility needs. Go overland only if the journey is the point. Skip it in peak monsoon months, October to April. Rail fans might fly to Surabaya and train the last 10 hours, but verify the timetable first. Once you land, 8 Things to Do in Jakarta: Sights by Area & Day Plans gives a first-day plan. Still undecided? Read whether Jakarta is worth visiting. With a spare day, Day Trips From Jakarta: Best Options, Times & Tips are an easy add-on.
Mistakes to avoid on the Bali to Jakarta trip
A few errors cost travelers the most time and money.
- Booking a flight into HLP when your hotel is nearer CGK, or the reverse
- Skipping a time buffer, since 1 hr 40 min is the flight only
- Leaving your passport in your bag on train days
- Mixing up Surabaya Gubeng and Pasarturi
- Trusting old fares: Rp75,000 bus and Rp450,000 train figures date from an earlier trip
- Accepting unmetered taxis or unsolicited bag carrying without agreeing a price
Frequently Asked Questions
How do you get from Bali to Jakarta?
Most people fly from Ngurah Rai (DPS) to Soekarno-Hatta (CGK), with daily nonstops. Overland is possible by bus, ferry and two trains, but it takes days. Confirm schedules with the airline or KAI.
How many hours is it from Bali to Jakarta?
The fastest nonstop flight takes 1 hr 40 min, and many listings show about 2 hr. Add airport time on both ends. Overland, one traveler needed six days with stops. Surabaya to Jakarta alone is about 10 hours.
Can I go from Jakarta to Bali by train?
Not all the way by rail. Trains cover Java, such as Jakarta to Surabaya and on to Banyuwangi. You then cross by ferry to Gilimanuk and finish by bus to Denpasar. Check timetables with KAI.
Notes for your Indonesia trip
Optional updates when we add or change a town or island guide.
You might also like
Continue reading
More guides you'll find useful





