Bali, the Island of the Gods, beckons! While the journey from Indonesia’s bustling capital, Jakarta, to the tranquil shores of Bali can seem daunting, there are several convenient, scenic, and budget-friendly ways to make the trip. Here is your complete guide to choosing the best route for your adventure.
1. The Fastest Way: Flying 🛫
Best for: Speed, convenience, and those with limited time.
By far the quickest and easiest way to travel from Jakarta (CGK) to Denpasar, Bali (DPS) is by plane.
- Duration: The direct flight time is approximately 1 hour and 45 minutes to 2 hours.
- Airlines: Numerous domestic carriers operate this popular route, including Garuda Indonesia, Batik Air, Citilink, Lion Air, and AirAsia.
- Booking Tips: Book your tickets well in advance, especially during peak season (July/August and December), to secure the best fares. Flying out early morning or late evening can sometimes offer cheaper prices.
Traveler Tip: Jakarta has two main airports: Soekarno Hatta International Airport (CGK) and Halim Perdanakusuma Airport (HLP). Most Bali flights depart from CGK, but check HLP for domestic budget airline options.
2. The Scenic Route: Train and Ferry 🚂 & 🚢
Best for: Budget travelers, those who want to see the scenery of Java, and anyone avoiding air travel.
This multi modal journey is an incredible way to experience the landscapes of Java before crossing to Bali. It involves a combination of train travel, a short bus ride, and a ferry crossing.
Steps for the Train/Ferry Trip:
- Jakarta to Banyuwangi (Train): Board a long-distance train from Jakarta’s Pasar Senen or Gambir stations heading to Banyuwangi Baru Station (BWB) in East Java. This is the closest point to Bali on the island of Java. The train ride takes approximately 15 to 17 hours.
- Banyuwangi Station to Ketapang Ferry Terminal (Bus/Taxi): The train station is very close to the ferry terminal (Port of Ketapang). A short taxi ride or ojek (motorbike taxi) will get you there in minutes.
- Ketapang (Java) to Gilimanuk (Bali) (Ferry): The ferry crossing is cheap and runs 24 hours a day, taking about 45 minutes to 1 hour to reach the Port of Gilimanuk in West Bali.
- Gilimanuk to Denpasar/South Bali (Bus/Taxi): From Gilimanuk, you can take a local bus or private taxi service for the final 3-4 hour leg of the journey to popular destinations like Denpasar, Kuta, Seminyak, or Ubud.
Total Time: This entire trip usually takes 20 to 24 hours, not including layovers. It’s an adventure in itself!
3. The Overland Journey: Driving or Bus 🚌
Best for: Groups, maximum flexibility, and dedicated road-trippers.
Driving the entire route is possible but is a lengthy commitment, requiring excellent navigation and endurance.
Duration: The total journey time by bus is usually 24 to 30 hours, depending on traffic in Java. While long, it’s a seamless, single-ticket option.
Bus Services: Several long-distance coach companies (like Lorena, Kramat Djati, or Pahala Kencana) offer direct bus services that include the ferry crossing. You board the bus in Jakarta, and it drives onto the ferry in Ketapang and continues to Denpasar or other parts of Bali.
| Route | Duration | Estimated Cost (One-Way) | Best For |
| Flying (CGK to DPS) | 2 hours (plus airport time) | High-end: IDR 1,500,000+ / Budget: IDR 700,000+ | Speed and Comfort |
| Train/Ferry | 20 – 24 hours | IDR 400,000 – IDR 800,000 | Budget and Scenery |
| Direct Bus | 24 – 30 hours | IDR 350,000 – IDR 600,000 | Simplicity (Single Ticket) |
✈️ The Jakarta to Bali Flight: Prices & Airlines

The flight route from Jakarta (CGK – Soekarno-Hatta International Airport) to Denpasar, Bali (DPS – I Gusti Ngurah Rai International Airport) is Indonesia’s busiest domestic corridor.
| Detail | Information |
| Duration | Non-stop flights take approximately 1 hour 45 minutes to 2 hours 5 minutes. |
| Airports | Jakarta: Soekarno-Hatta (CGK). Some flights also depart from Halim Perdanakusuma (HLP). Bali: Ngurah Rai (DPS). |
| Frequency | Dozens of direct flights operate daily, providing excellent flexibility. |
| Time Zone | Bali (WITA) is 1 hour ahead of Jakarta (WIB). (e.g., A 7:00 AM flight from Jakarta arrives at 10:00 AM in Bali). |
Estimated Flight Prices (One-Way Economy)
| Carrier Type | Price Range (IDR) | Price Range (USD) | Notes |
| Budget Airlines | IDR 700,000 – IDR 1,500,000+ | $45 – $95+ | Excludes checked baggage, meals, and seat selection. |
| Full-Service/Mid-Range | IDR 1,500,000 – IDR 3,000,000+ | $95 – $190+ | Often includes checked baggage allowance and an in-flight meal/snack. |
Current Low Fare Estimate: You can sometimes find one-way promotional fares starting from around IDR 800,000 to IDR 1,000,000 if booking well in advance or during the off-season.
Direct Flight Airlines
You have a wide selection of Indonesian airlines offering direct service. The best choice depends on your budget and preference for amenities.
| Airline | Type | Notes |
| Garuda Indonesia | Full-Service | Indonesia’s flag carrier; known for excellent service, includes baggage/meals. |
| Batik Air | Mid-Range | Often considered a full-service option; part of the Lion Air Group. |
| Lion Air | Low-Cost | High-frequency flights, typically the cheapest option, but expect strict baggage rules. |
| Indonesia AirAsia | Low-Cost | Popular budget carrier; known for reliable service and competitive prices. |
| Citilink | Low-Cost | Subsidiary of Garuda Indonesia; often offers competitive mid-morning or late-day flights. |
| Super Air Jet | Low-Cost | Focuses on millennials and budget travel; part of the Lion Air Group. |
| TransNusa | Low-Cost | A smaller regional option with good budget prices. |
| Pelita Air Service | Mid-Range | A newer domestic option, known for a mid-tier travel experience. |
Tips for Booking the Best Flight
- Book Early: For the best deals, try to secure your tickets 2-3 months in advance, especially if traveling around weekends or public holidays.
- Flexibility is Key: Tuesday, Wednesday, and Saturday flights are often cheaper than those on Friday, Sunday, or Monday. Early morning or late-night flights can also save you money.
- Compare the Total Cost: When comparing low-cost carriers (like Lion Air or AirAsia) with full-service airlines (like Garuda), be sure to add the cost of checked baggage and seat selection to the low-cost fare for a true comparison.
🚂 The Scenic Route: Train from Jakarta to Bali (via Banyuwangi)
This journey is split into three main parts: the long train ride across Java, the short crossing to Bali, and the final transfer to your destination in Bali.
Part 1: The Train Journey (Jakarta to Banyuwangi)
The main goal of the train leg is to reach Banyuwangi, the easternmost city in Java, which is directly across the strait from Bali.
| Detail | Information |
| Departure Station (Jakarta) | Pasar Senen (PSE) is the common station for trains heading East Java. |
| Arrival Station (Banyuwangi) | Banyuwangi Kota (BWO) or Ketapang (KTG) station (KTG is closer to the ferry port). |
| Duration | Approximately 15 to 17 hours. This is an overnight journey. |
| Example Train Name | Blambangan Ekspres (often runs this direct route). |
Estimated Train Schedule (Example: Blambangan Ekspres)
| From | To | Departure Time | Arrival Time | Duration |
| Jakarta Pasar Senen (PSE) | Banyuwangi Kota (BWO) | ~12:10 PM (Noon) | ~04:25 AM (+1 day) | ~16 hours 15 mins |
Note: Schedules vary daily. Always check the official KAI (Kereta Api Indonesia) website or a major booking platform for exact times and availability for your travel date.
Train Classes and Estimated Prices (One-Way)
Indonesia’s state railway (KAI) offers three main classes, which are all air-conditioned for this long route:
| Class | Seating Arrangement | Comfort Level | Estimated Price (IDR) |
| Economy | 2-2 or 3-2; upright fixed seats (some new trains have reclining seats). | Basic, best for budget. | IDR 400,000 – 600,000+ |
| Business | 2-2; reclining seats, more legroom than Economy. | Good balance of cost and comfort. | IDR 500,000 – 800,000+ |
| Executive | 2-2; soft, deep-reclining seats, generous legroom, footrests. | Maximum comfort for an overnight journey. | IDR 750,000 – 1,100,000+ |
Pro Tip: For a 16-hour overnight ride, spending extra for Executive Class is highly recommended to ensure you can sleep comfortably and arrive rested.
Part 2: The Ferry Crossing (Ketapang to Gilimanuk)
Once you arrive in Banyuwangi, the ferry terminal is just a short hop away.
Ticket Price: Extremely affordable. An adult passenger ticket is typically around IDR 10,600 (less than 1 USD).
Transfer to Port: The Banyuwangi train stations are very close to the Ketapang Ferry Terminal. A short taxi, ojek (motorbike taxi), or walk will get you there in minutes.
Ferry Schedule: Ferries run 24 hours a day, departing every 30 to 60 minutes. You never have to wait long.
Crossing Time: The actual journey across the Bali Strait takes only 45 minutes to 1 hour.
Part 3: The Final Leg (Gilimanuk to South Bali)
You have now arrived at the Port of Gilimanuk in West Bali. The last step is the road trip to the main tourist hubs in the south (Kuta, Seminyak, Denpasar, Ubud, etc.)
Duration: This road trip usually takes 3 to 5 hours, depending on traffic and your final destination.
Options:
– Shared or Private Taxi: The fastest and most comfortable option, especially if traveling in a group. Expect to negotiate a fare or book an online taxi/transfer in advance.
– Perama Bus: A cost-effective shuttle bus that serves major tourist areas (bookable at the port).
📝 Summary of Total Trip Time & Cost
| Segment | Duration | Estimated Cost (Min.) |
| Train (Jakarta to Banyuwangi) | 15 – 17 hours | IDR 400,000 |
| Transfer to Port | 15 – 30 minutes | IDR 10,000 – 50,000 |
| Ferry (Ketapang to Gilimanuk) | 1 hour | IDR 10,600 |
| Transfer (Gilimanuk to South Bali) | 3 – 5 hours | IDR 100,000 – 300,000 |
| Total Travel Time | Approx. 20 – 24 hours | Total Estimated Cost: IDR 520,000+ |
This is a journey that will show you the real breadth of Java before you step onto the magical island of Bali!
🚌 The Direct Bus: Jakarta to Denpasar (Bali)
That’s the ultimate budget and adventure choice! The Overland Bus Journey from Jakarta to Bali is a truly seamless, single-ticket experience that includes the long drive across Java and the ferry crossing.
This option is the most budget-friendly way to get straight from city to city, without the hassle of changing transportation modes (trains, taxis, and buses) yourself.
| Detail | Information |
| Route Type | Direct long-distance bus (Bus Antar Kota Antar Provinsi – AKAP). |
| Duration | Approximately 22 to 30 hours, depending on traffic across Java. |
| Inclusions | The bus drives onto the ferry at Ketapang (Java) and continues to Bali. No need to off-load luggage or buy a separate ferry ticket. |
| Departure Point | Major terminals in Jakarta, such as Terminal Pulo Gebang or Terminal Lebak Bulus. |
| Arrival Point | Main bus terminals in Bali, such as Terminal Ubung, Terminal Mengwi, or operator offices in Denpasar. |
Bus Operators and Classes
Several reputable Indonesian bus companies operate this route, offering different levels of comfort for the long journey:
| Operator (Bus Company) | Typical Classes Offered | Notes |
| Pahala Kencana | Executive, Super Executive | A very popular choice known for reliability. |
| Gunung Harta | Executive, Suite Class | Offers high comfort, sometimes including an onboard meal. |
| Kramat Djati | Executive, Economy | A long-established operator with frequent schedules. |
| Lorena | Executive | Another reputable, long-standing choice. |
| Sinar Jaya | Suite Class, Executive | Suite Class features premium 1-1 seating for maximum privacy. |
| Wafaa Holiday | Executive | Often offers competitive prices and good service. |
Estimated Ticket Prices (One-Way)
The price depends heavily on the comfort class you choose. Given the long duration, paying extra for a more spacious seat is highly recommended.
| Class | Comfort Level | Estimated Price (IDR) | Estimated Price (USD) |
| Executive | Reclining seats, AC, sometimes a meal, generous legroom. | IDR 500,000 – IDR 750,000+ | $32 – $47+ |
| Suite/Luxury | Spacious 1-1 seating pods, footrests, maximum privacy. | IDR 800,000 – IDR 1,200,000+ | $50 – $75+ |
Booking Tip: You can easily check schedules and book tickets online through popular Indonesian ticketing platforms like Traveloka or redBus. Booking a few days in advance is always wise.
What to Expect on the Journey
– Rest Stops: The bus will make several scheduled stops at large rest areas (known as rest area or rumah makan) along the Trans-Java Toll Road for meals and restroom breaks. Meals are sometimes included in Executive/Suite tickets.
– The Ferry: The bus will drive straight onto the ferry at Ketapang (East Java). Passengers usually disembark from the bus to stretch their legs on the ferry deck for the 1-hour crossing to Gilimanuk (Bali).
– Amenities: Most modern long-distance buses offer Air Conditioning (AC), a reclining seat, and onboard entertainment (TV). Some premium services include Wi-Fi, blankets, and charging ports.
This overland bus route is the perfect option if your priority is low cost and having a single, direct line of travel from Jakarta all the way to Bali.
Breaking the journey up into a multi-day overland tour across Java is one of the most rewarding ways to travel to Bali. You get to see incredible cultural and natural landmarks along the way.
The classic route hits the three major highlights: Yogyakarta (Culture), Mount Bromo (Volcano), and Ijen Crater (Blue Fire).
Here is a popular 5 to 7 Days itinerary you can follow, combining comfortable trains and private/shared local transfers:
Jakarta to Bali: The Ultimate Java Overland Itinerary (5-7 Days)
Day 1: Jakarta to Yogyakarta (The Cultural Heart)
- Morning: Depart from Jakarta (Gambir or Pasar Senen Station) via an Executive Class train to Yogyakarta (Tugu or Lempuyangan Station).
- Duration: Approximately 6.5 – 8 hours.
- Tip: Book the earliest train (e.g., 7:00 AM) to arrive in the afternoon and have time to check into your hotel.
- Afternoon/Evening: Check into your hotel in the Prawirotaman or Malioboro area of Yogyakarta. Explore the local street food scene or visit the famous Malioboro Street for shopping.
Day 2: Borobudur & Prambanan (Ancient Wonders)
- Early Morning (Optional): Arrange a transport service to see the famous Borobudur Temple (the world’s largest Buddhist monument) for sunrise.
- Daytime: Visit the main temple grounds of Borobudur. Note that current regulations may require an extra ticket/guide to climb the stupas.
- Afternoon: Visit Prambanan Temple, the largest Hindu temple complex in Indonesia (usually a separate trip, as it’s on the east side of the city).
- Tip: These two UNESCO sites are in opposite directions, so hiring a private car or booking a shared tour is the most efficient way to see them both in one day.
Day 3: Yogyakarta to East Java (The Volcano Gateway)
- Morning: Explore Yogyakarta City (e.g., the Kraton – Sultan’s Palace and Taman Sari – Water Castle).
- Afternoon: Take an Executive Class train from Yogyakarta to Malang or Surabaya (the main starting points for Bromo tours).
- Duration: Yogyakarta to Malang is approximately 7-8 hours.
- Evening: Arrive, have dinner, and check into your hotel. If you are doing a guided tour, you will likely be picked up here late at night or early the next morning.
Day 4: Mount Bromo Sunrise Adventure
- Midnight/Very Early Morning (12:30 AM – 3:00 AM): Your adventure begins! You will be picked up by a 4×4 Jeep (usually arranged through your hotel or a pre-booked tour) to head to the national park.
- Sunrise: Drive to a viewpoint (Penanjakan Hill or King Kong Hill) to witness the spectacular sunrise over the vast caldera, featuring Mount Bromo, Mount Batok, and the towering Mount Semeru.
- Morning: Descend into the Sea of Sand and hike or take a horse ride up to the rim of the active Bromo Crater to look inside.
- Late Morning: Return to your hotel for breakfast and check out.
- Daytime: Take a private car or shared transfer for the long journey (6–8 hours) eastward toward Banyuwangi (the closest city to Ijen Crater).
Day 5: Ijen Crater and Blue Fire Trek
- Midnight (12:00 AM – 1:00 AM): Start the trek to Ijen Crater. This is a challenging 1.5-2 hour uphill hike.
- Pre-Dawn: (If permitted and visible) Descend into the crater to witness the rare Ijen Blue Fire, caused by ignited sulfuric gas. Gas masks are mandatory!
- Sunrise: Watch the sun rise over the stunning turquoise, acidic crater lake.
- Morning: Descend the volcano, return to your hotel for breakfast, and clean up.
- Late Morning: Transfer to the Ketapang Ferry Terminal in Banyuwangi.
Day 6: Arrival in Bali
- Ferry: Board the frequent ferry from Ketapang (Java) to Gilimanuk Port (Bali).
- Duration: ~1 hour crossing.
- Afternoon: From Gilimanuk, take a bus, shuttle, or pre-arranged private taxi to your final destination in South Bali (Denpasar, Kuta, Ubud, Seminyak, etc.).
- Duration: 3–5 hours, depending on destination.
- Evening: Arrive in Bali and enjoy a well-deserved sunset!
This itinerary balances comfort (trains) with adventure (volcanoes) and is highly flexible.
Plan your dream trip from Jakarta to Bali! Compare the fastest flights, budget-friendly train and ferry routes, and the seamless overland bus journey. Get up-to-date prices and duration estimates for every option.
Contact us if you want a more amazing and unforgettable trip exploring the islands of Java to Bali.