How to Get from Bali to Yogyakarta

How to Get from Bali to Yogyakarta

Last updated: March 8, 2026

Leaving behind the turquoise surf of Bali for the volcanic landscapes and ancient temple spires of Yogyakarta is a transition from the Indonesia of leisure to the Indonesia of heritage. While Bali feels like a world unto itself, Yogyakarta serves as the soul of Java, where the Sultan's palace still breathes life into local traditions and the massive stone structures of Borobudur and Prambanan dominate the horizon. The journey between them is a rite of passage for many travelers, crossing the Bali Strait and traversing the length of East and Central Java.

Choosing your path depends entirely on whether you value the efficiency of the air or the slow, unfolding narrative of the Indonesian road. You can secure your spot on either of these journeys by booking via GoAsia.cc, ensuring your transition from the beach to the city is as smooth as possible.

Bali to Yogyakarta by Flight

For those who want to maximize their time exploring the Malioboro night markets or catching a sunrise at a temple, flying is the undisputed champion. The flight from Ngurah Rai International Airport (DPS) to Yogyakarta International Airport (YIA) is remarkably brief, typically lasting between 1 hour 30 minutes and 1 hour 50 minutes. This is a massive time saving compared to the overland alternative, allowing you to have breakfast in Seminyak and lunch in a traditional Javanese warung.

Economy class tickets generally range from $66 to $93. Most flights depart during the late morning or mid afternoon, providing a perfect window to check out of your resort without rushing. Upon arrival in Yogyakarta, you will land at the newer international airport in Kulon Progo, which is about an hour outside the city center, though well connected by an efficient airport train and shuttle services.

Bali to Yogyakarta by Bus

The overland journey is an epic undertaking that appeals to budget travelers and those who enjoy seeing the transition of the Indonesian landscape. Traveling by bus involves a ferry crossing from Gilimanuk in West Bali to Ketapang in East Java, followed by a long drive across the Javanese highway network. Depending on your specific boarding point in Bali, such as Denpasar, Tabanan, or Badung, the journey can take anywhere from 14 hours 30 minutes to over 19 hours.

Executive and Double Decker Buses

The most common way to make this trip is via Executive Class buses. These are not your average local buses; they feature reclining seats, air conditioning, and often a meal included in the price. Tickets for these services range from $30 to $40. For a slightly more elevated experience, Double Decker buses operate on certain routes, offering great views from the upper deck for approximately $40 to $56. These buses are known for their reliability and are a staple for locals and seasoned travelers alike.

Sleeper Buses

If you are looking for the highest level of comfort on the road, the Sleeper Class is a game changer. Priced around $56, these buses feature seats that recline significantly or flat beds, allowing you to actually get some rest while the bus navigates the long stretches of Java. This is an excellent way to save on a night of accommodation while traveling. Most sleeper services depart in the mid afternoon, arriving in Yogyakarta the following morning.

Comparing Your Options

Mode Price (USD) Duration Comfort
Flight $66 - $93 1h 30min - 1h 50min High
Sleeper Bus $56 15h 45min High
Double Decker Bus $40 - $56 14h 30min - 18h Medium
Executive Bus $30 - $40 15h - 19h Medium

Tips for Traveling from Bali to Yogyakarta

  • Book in Advance: Flights and especially the popular Sleeper buses tend to fill up quickly, particularly during Indonesian public holidays or long weekends.
  • Prepare for the Cold: Indonesian buses are notorious for their aggressive air conditioning. Even if it is sweltering outside, carry a light jacket or a sarong to stay warm during the overnight journey.
  • Airport Logistics: Remember that Yogyakarta International Airport (YIA) is located in Kulon Progo. If you arrive by bus, you may be dropped off at various terminals like Giwangan or Sleman. Check which one is closest to your hotel to save on local taxi fares.
  • Pack Snacks: While many long distance buses include a meal stop at a rest area, the timing can be unpredictable. Carry some water and snacks to keep you going.
  • Ferry Crossing: If you take the bus, the ferry crossing between Bali and Java is included in your ticket. You will usually have to exit the bus and sit in the passenger lounge of the ferry for about 45 minutes.

Timetable

Flight Bali - Yogyakarta $ 64.32–89.95 1h 30m – 1h 50m
  •   Economy 10:00, 12:05, 15:00
Bus Bali - Yogyakarta $ 29.03–54.10 15h 25m – 18h
  •   Executive 12:00, 12:30, 18:30, 18:35
  •   Double Decker 13:55
  •   Sleeper 15:45
Bus Denpasar - Yogyakarta $ 29.03–54.10 15h 45m – 19h 5m
  •   Executive 11:00, 12:00, 18:00, 18:02, 18:15, 18:25
  •   Double Decker 13:10
  •   Sleeper 15:00
Bus Bali - Sleman $ 31.32 18h 40m
  •   Executive 12:30
Bus Bali - Kulon Progo $ 30.18–33.32 18h – 18h 10m
  •   Executive 10:00, 10:30
Bus Bali - Giwangan $ 31.32 18h 40m
  •   Executive 12:30
Bus Tabanan - Yogyakarta $ 29.03–38.73 14h 30m – 18h
  •   Executive 12:30, 14:10, 19:30
  •   Double Decker 14:10
Bus Tabanan - Sleman $ 31.32 17h
  •   Executive 14:10
Bus Tabanan - Kulon Progo $ 30.18 15h 15m – 15h 25m
  •   Executive 13:15
Bus Badung - Yogyakarta $ 31.32 15h 15m
  •   Executive 14:00
Bus Badung - Sleman $ 31.32 17h 10m
  •   Executive 14:00
Bus Badung - Kulon Progo $ 30.18 15h 30m
  •   Executive 13:00

Frequently Asked Questions

How can I book tickets from Bali to Yogyakarta?

You can book train, bus, flight, taxi, van, and ferry tickets from Bali to Yogyakarta 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 Bali to Yogyakarta?

The cheapest way to travel is by Executive Class bus, with tickets starting as low as $30. These services depart from various locations in Bali including Denpasar, Tabanan, and Badung.

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

Flying is the fastest option by a significant margin. The flight takes between 1 hour 30 minutes and 1 hour 50 minutes, compared to at least 14 hours on the road.

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

By air, it takes roughly 1.5 to 2 hours. By bus, the journey time varies between 14 hours 30 minutes and 19 hours depending on traffic and your specific departure point.

Is it better to fly or take the bus to Yogyakarta?

If you have a limited schedule, flying is much better as it saves nearly an entire day of travel. However, if you are on a budget or want the experience of seeing the Javanese countryside, the sleeper bus is a comfortable and affordable alternative.

Where do the buses arrive in Yogyakarta?

Buses from Bali arrive at several locations including the Giwangan Terminal, Sleman, and Kulon Progo. It is important to check your specific ticket to see which terminal your operator uses.

Are meals included on the bus journey?

Most Executive, Double Decker, and Sleeper bus operators include one meal at a dedicated rest stop in East Java. However, it is always a good idea to bring your own water and extra snacks for the long trip.