Jakarta to Bali: Flight, Train and Ferry Guide (2026)

Jakarta to Bali is Indonesia\’s busiest domestic route — connecting the capital with the country\’s most famous island. The flight takes just over 1.5 hours; the overnight train + ferry is a classic overland adventure for those who want to see Java. This guide covers all options with current prices.

✈️ [Travelpayouts Kiwi widget: Flights CGK/HLP → DPS Jakarta to Bali]


Option 1: Fly Jakarta to Bali (Recommended)

Lion Air, Garuda Indonesia, Citilink, Batik Air, and AirAsia all fly from Jakarta (Soekarno-Hatta, CGK or Halim Perdanakusuma, HLP) to Bali Ngurah Rai Airport (DPS) — approximately 1 hour 40 minutes, fares from ~$20–60 USD. Departures almost every hour throughout the day. From Bali Airport, Grab or Blue Bird taxi to Kuta (~15 minutes, ~80,000–100,000 IDR), Seminyak (~20 minutes), or Ubud (~1.5 hours, ~350,000–450,000 IDR). The standard option for virtually all travelers.

✈️ [Travelpayouts Kiwi widget: Flights CGK → DPS cheapest fares]

Option 2: Train Jakarta to Banyuwangi + Ferry to Bali

The overland route: overnight train from Jakarta Gambir to Banyuwangi Baru (~12–14 hours, from ~$15–30 USD in executive class), then a short ferry from Ketapang Port to Gilimanuk on Bali\’s west coast (~45 minutes, ~10,000 IDR), then minibus east to Denpasar or Kuta (~3–4 hours). Total approximately 18–20 hours. A genuine adventure crossing Java — the train passes Mount Bromo and east Javanese countryside. Only worth it for travelers with time and interest in overland travel.

🎟 [Travelpayouts 12Go widget: Jakarta → Banyuwangi overnight train]

ℹ️ Jakarta has two main airports: Soekarno-Hatta (CGK) in the west suburbs handles most flights; Halim Perdanakusuma (HLP) in the east handles some Lion Air and Batik Air routes. Confirm your departure terminal when booking — they\’re about 1.5 hours apart by road.


Quick Comparison

OptionTimeCost fromBest for
Flight~1h 40min~$20 USDAlmost everyone
Train + ferry~18–20 hours~$20 USDOverland adventure, Java

Where to Stay in Bali

🏨 [Travelpayouts Hotellook/Agoda widget: Hotels in Seminyak, Bali]

🏨 [Travelpayouts Hotellook/Agoda widget: Hotels in Ubud, Bali]


Related Guides

This post contains affiliate links. When you book through them, we may earn a small commission at no extra cost to you.

Leave a Comment

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