How to Get from Yogyakarta to Bali

How to Get from Yogyakarta to Bali

Last updated: March 8, 2026

Leaving behind the ancient temples of Borobudur and the artistic soul of Yogyakarta for the volcanic beaches and terraced rice paddies of Bali is a classic Indonesian rite of passage. This journey takes you across the heart of East Java, over the Bali Strait, and into the unique Hindu enclave of the archipelago. While the distance is significant, the transition from the royal heritage of Java to the tropical spirituality of Bali is one of the most rewarding experiences in Southeast Asia.

The choice between a quick flight and a long-distance bus ride is a classic debate of time versus budget. Flying saves you nearly a full day of travel, while the bus offers a slow-motion look at the changing landscapes of the Javanese countryside. Whichever path you choose, you can easily secure your seats and compare operators on GoAsia.cc to ensure your transition between these two iconic islands is seamless.

Yogyakarta to Bali by Flight

For most travelers, the plane is the preferred way to bridge the gap between Java and Bali. Flights depart from Yogyakarta and arrive at Ngurah Rai International Airport (DPS) in Denpasar, usually taking between 1 hour 25 minutes and 1 hour 30 minutes. It is a spectacular short hop; if you snag a window seat, you might get a glimpse of the towering volcanoes that form the spine of East Java before descending over the sparkling waters surrounding Bali.

Economy class tickets typically range from $67 to $90. This price usually includes a basic cabin bag allowance, though checked luggage policies vary by airline. Given the popularity of this route, flights are frequent, but they do fill up quickly during Indonesian public holidays and the peak dry season. Flying is undoubtedly the most comfortable option, sparing you the winding roads and the ferry crossing required for overland travel.

Yogyakarta to Bali by Bus

The overland journey by bus is an epic undertaking that appeals to budget-conscious travelers and those who enjoy the rhythm of the road. Most buses depart from Yogyakarta or nearby areas like Sleman and Bantul, heading to various drop-off points in Bali including Denpasar, Tabanan, and Badung. The duration is substantial, ranging from approximately 13 hours to over 20 hours depending on traffic and your specific destination.

Executive Class Buses

The Executive class is the standard for long-haul travel in Indonesia. These buses are equipped with air conditioning, reclining seats, and often a footrest. Prices for an Executive seat range from $21 to $35. These services include the ferry crossing from Ketapang (Java) to Gilimanuk (Bali) in the ticket price. It is a long haul, but the buses usually stop at large rest areas where you can stretch your legs and grab a local meal.

Sleeper and Double Decker Buses

For those looking for a bit more luxury while crossing Java, Sleeper and Double Decker buses are available on the route to Denpasar. Sleeper buses, priced around $41, offer seats that recline significantly or actual pods that allow you to lie flat, making the 14 to 20-hour journey much more manageable. Double Decker buses provide a modern, smooth ride with different seating tiers, often priced similarly to high-end Executive services. These premium options are highly recommended if you plan on sleeping through the night to arrive in Bali refreshed.

Comparing Your Options

ModePrice (USD)DurationComfort
Flight$67 - $901h 25min - 1h 30minHigh
Bus (Executive)$21 - $3513h - 21hModerate
Bus (Sleeper)$4114h - 20hHigh

Tips for Traveling from Yogyakarta to Bali

  • Book in Advance: Whether you choose to fly or take a premium sleeper bus, booking several days ahead is vital, especially on weekends. You can check the latest availability on GoAsia.cc.
  • Prepare for the Ferry: If taking the bus, you will cross the Bali Strait by ferry. You usually stay on the bus or head to the passenger deck for the 30-45 minute crossing. It is a great time to get some fresh sea air.
  • Pack Layers: Indonesian buses are famous for their aggressive air conditioning. Even if it is 30 degrees Celsius outside, the bus interior can feel like a refrigerator. Bring a jacket or a small blanket.
  • Arrival Logistics: When arriving at Denpasar bus terminals (like Mengwi), be aware that they are located a fair distance from popular tourist hubs like Canggu, Seminyak, or Ubud. Have a ride-hailing app ready or arrange a pickup in advance.
  • Snacks and Water: While buses make stops, having your own supply of water and snacks is essential for a journey that can last nearly a full day.

Timetable

Flight Yogyakarta - Bali $ 64.87–87.80 1h 25m – 1h 30m
  •   Economy 13:40, 16:10
Bus Yogyakarta - Bali $ 21.12 18h 35m – 18h 50m
  •   Executive 10:30, 10:40, 10:45
Bus Yogyakarta - Denpasar $ 19.99–39.95 14h 40m – 20h 30m
  •   Executive 12:00, 12:40, 13:00, 13:30, 22:30
  •   Double Decker 12:00, 12:20
  •   Sleeper 14:00, 14:20
Bus Yogyakarta - Tabanan $ 23.40–27.07 13h 10m – 18h
  •   Executive 12:00, 22:30
Bus Bantul - Denpasar $ 34.24 18h
  •   Executive 12:20
Bus Yogyakarta - Badung $ 21.12 20h 45m – 21h
  •   Executive 10:30, 10:40, 10:45
Bus Sleman - Bali $ 21.12 18h 20m
  •   Executive 11:00
Bus Sleman - Badung $ 21.12 20h 30m
  •   Executive 11:00

Frequently Asked Questions

How can I book tickets from Yogyakarta to Bali?

You can book train, bus, flight, taxi, van, and ferry tickets from Yogyakarta to Bali directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.

What is the cheapest way to get from Yogyakarta to Bali?

The cheapest way to travel is by Executive bus, with tickets starting as low as $21. These buses depart from various points in Yogyakarta and Sleman, providing an affordable overland connection to Bali.

What is the fastest way to get from Yogyakarta to Bali?

The fastest way to reach Bali is by taking a direct flight, which takes between 1 hour 25 minutes and 1 hour 30 minutes. This is significantly quicker than the overland bus journey, which takes at least 13 hours.

How long does it take to get from Yogyakarta to Bali?

Travel time depends on your mode of transport. A flight takes about 1.5 hours, while a bus journey can range from 13 to 21 hours depending on the final destination in Bali and traffic conditions.

Is the ferry included in the bus ticket price?

Yes, when you book a bus from Yogyakarta to Bali, the ferry crossing from Ketapang to Gilimanuk is typically included in your ticket price. You do not need to purchase a separate ticket for the boat.

Which bus terminal in Yogyakarta should I use?

Buses depart from several locations including the main terminals in Yogyakarta, as well as Sleman and Bantul. It is best to check your specific booking for the exact departure point that is most convenient for your accommodation.

Are there sleeper buses available for this route?

Yes, there are sleeper bus options available for the journey to Denpasar, priced around $41. These are highly recommended for the long 14 to 20-hour trip as they allow you to lie down and rest more comfortably than standard seats.