How to get from Yogyakarta to Bali overland (2024)

This post may contain affiliate links. If you make a purchase using one of these links, I may receive a small reward at no extra cost to you. See my Disclosure Policy for more information.

Traveling between Yogyakarta and Bali is common as both are very popular destinations.

While there are direct flights between the two, they can sometimes be expensive. But you can rather easily get from Yogyakarta to Bali overland!

To summarize, the 2 options you have are:

  1. Train, then ferry, then a minibus (cheaper, allows stopovers, more adventurous)
  2. Direct sleeper bus (more convenient, faster)

The Ultimate Comparison

You’ve come to find out which method is cheapest, which is fastest, and which is best. And I deliver. Here’s the comparison:

PriceDurationConvenience
Bus20-36$16hGood
Train+Ferry+Minibus10$18-20hMediocre
Plane40-120$4-5h*Excellent
Travel options comparison
*Plane duration includes travel to/from the airport and security procedures

Check out my no-BS guide to finding cheap flights.

Direct Bus from Yogyakarta to Bali

A few companies run direct buses between Yogyakarta and Bali. There is a very economical seated bus and a slightly more expensive sleeper bus.

The direct bus from Yogyakarta to Denpasar takes around 16 hours to cover the 725 km between the two.

Difference between Seater and Sleeper buses

  • Seater Bus: 30-50 seats, 300.000 IDR (20$), can’t lie down;
  • Sleeper Bus: 21 seats (bunk beds), 550.000 IDR (36$), fully reclinable.

If you’ve ever traveled on the legendary Vietnam sleeper buses, this sleeper bus is of roughly the same quality.

Inside the sleeper bus between Yogyakarta and Bali
Luxury Sleeper Bus

The luxury sleeper buses come equipped with AC, a toilet, a small snack (usually pot noodles that you can prepare with hot water from the dispenser), a bottle of water, 2 USB charger ports, and a basic entertainment system similar to the ones in airplanes.

The executive seated buses also come equipped with AC, a toilet, and USB ports, but there are no freebies and no entertainment.

How to book the direct bus between Yogyakarta and Denpasar (Bali)?

A no-frills way to get a ticket is to book through 12Go.asia. The price will be slightly higher due to the service fee but confirmation is instant and you pay online. Lovely!

Unfortunately, not all providers list their buses there.

Many tour operators and agents sell tickets for the route in both Yogyakarta and Denpasar. These are reliable and convenient but also charge extra for them.

The best company I’ve found is Tamijaya. You can’t book online, but they have their WhatsApp listed and you can book a ticket via chat. Tamijaya also offers a sleeper class bus unlike most companies listed on 12Go.asia.

More information on Tamijaya-utama.com
  • Use this WA number if boarding in Yogyakarta: +62 811-250-147
  • Use this WA number if boarding in Denpasar (Bali): +62 822-2688-0162

What to expect on the sleeper bus

There’s at least one stop when traveling by the direct bus between Yogyakarta and Bali to buy snacks, go to a proper toilet, or just stretch your legs.

Prepare some food for the bus as it’s a long drive and the bus will sure as hell not stop because you’re too hungry. The pot noodles on the luxury bus only go so far.

Going to the toilet inside the bus is a hit or miss. Literally.

I mean, you never know when Indonesian drivers decide that Luc Besson is casting them for a new Taxi movie. Do with this information what you may.

The seats inside the bus from Yogyakarta to Bali
The regular seater bus

From Yogyakarta to Probolinggo (the gateway town for Mount Bromo) the road is pretty good and it’s fairly easy to fall asleep. The bus uses the toll roads which are pretty much highway quality. After that the roads get progressively narrower and more dizziness-inducing.

Nevertheless, sleeping on the luxury bus is easy and comfortable.

Train + ferry to Bali + minibus

Java and Bali are NOT connected by a bridge and there’s no direct train between the two.

You need to take a train from Yogyakarta to Ketapang Harbour (close to Banyuwangi, the gateway town for Kawah Ijen), then board the ferry over to Gilimanuk and voila you’re in Bali. From Gilimanuk there are minibuses to Lovina and Singaraja (North Bali) as well as Denpasar (South&Central Bali).

Train from Yogyakarta to Ketapang

One direct train leaves Lempuyangan Station in Yogyakarta daily at 07:20 AM and arrives in Ketapang after 12 hours 50 minutes at 20:10.

It is economy class and the ticket costs 94.000 IDR (6.2$).

Seats inside the economy trains - benches for 3 people
Economy class train seats

A combination of other trains can also get you there, but they involve changing trains in Surabaya or Probolinggo and are more expensive.

You can book train tickets on the official website (including an option to pay in cash at Indomaret or Alfamart) or through Traveloka or Tiket.com where you can pay by card.

Ferry across the Bali Strait

Ferry from Java to Bali at port.
The passenger ferry from Java to Bali.

The ferry terminal is literally in front of the train station at Ketapang. You won’t need to walk more than 200 meters.

The ferry runs every 20-25 mins, 24/7, and costs 6500 IDR / 0.45$.

Minibus from Gilimanuk

There are relatively frequent minibuses towards Lovina (1 hour, 20.000 IDR / 1.3$) or Denpasar (4 hours, 50.000 IDR / 3.3$).

You can catch them from the Bus Terminal in Gilimanuk, opposite the harbor, you can’t miss it.

The total cost to travel overland from Yogyakarta to Denpasar with this option is 94000+6500+50000 = 150.500 IDR (10$).

Other ways to travel between Bali and Yogyakarta overland

Are you a little more adventurous? Then these three are for you.

Hitchhiking

Indonesia is easy to hitchhike in. Get a bit outside of the city before you try because trying to hitch a ride. In the center of Denpasar, it would be close to impossible.

Read more useful tips about hitchhiking in Indonesia on the Hitchwiki page for Bali.

Motorcycle

It is possible to rent a motorcycle for a longer period in both Yogyakarta and Bali. They usually don’t ask for an international driver’s license, although you may run into trouble with the police (mostly in Bali). That’s rare though.

There’s absolutely no problem taking a rented motorcycle across the Bali Strait on the ferry.

Simon on a motorcycle
Full disclaimer: I haven’t traveled by motorcycle from Yogyakarta to Bali myself but I have over 5.000 km on the road exploring both.

As for renting a motorcycle on one end of the journey and returning it on the other, that may be more complicated and my advice is to enquire in person at the motorcycle rental place of your choice.

The 725 km will require around 18-20 liters of fuel. At 10.000 per liter, this makes the total fuel cost around 200.000 IDR (13$).

The price for motorcycle rental depends but is usually between 100.000 and 150.000 (6-10$) per day.

Car

Much the same as the motorcycle. However, the car will be significantly more expensive both fuel-wise and rental-wise. The ferry fee is higher too.

Splitting the Journey

If you go directly to Bali from Yogyakarta (or vice versa), you will be missing out on a whole lot of adventure in East Java.

Destinations such as Mount Bromo, the waterfall Tumpak Sewu, Madakaripura Waterfall, and the blue flames at Kawah Ijen are not to be skipped!

Seriously consider splitting your journey by doing 2-3 stops to visit these natural wonders. I guarantee they are better than another week in Bali!

You can find more information in the linked articles above or in my 14-day Java Backpacking Itinerary.

Tours From Yogyakarta to Bali

If all of that isn’t really for you and if your budget allows it, there are some incredible tours you can take that will take you from Yogyakarta to Bali with various stops on the way.

This 5D/4N tour will take you on an adventure to all the must-visit places, including Borobudur, Yogyakarta, Ijen Crater, and Mt. Bromo. You will stay in hotels, will have private transfers, and it requires 0 planning on your side – just remember to take pictures.

Leave a Reply

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