3 ways to get from Yogyakarta to Bali: Cheapest, Fastest, Best
Yogyakarta is the most popular city for backpackers on Java and do I even have to describe Bali? No wonder traveling between Yogyakarta and Bali is very popular.
Here I compare the direct bus from Yogyakarta to Bali, the train, ferry, plus minibus option, and the direct flight and straight-up answer which is best (to me at least – the sleeper bus).
If you’re looking for a slower way to travel in Central and East Java, you should look at my 2-week Java Backpacking Itinerary which will take you through places like Mount Bromo, Madakaripura, and Kawah Ijen on your way to Bali.
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:
Price | Duration | Convenience | |
---|---|---|---|
Bus | 20-36$ | 16h | Good |
Train+Ferry+Bus | 10$ | 18-20h | Bad |
Plane | 40-120$ | 3-4h* | Excellent |
*Plane duration includes travel to/from the airport and security clearance
Let’s give the awards:
- Cheapest: train, then ferry, then a minibus;
- Fastest: Plane;
- Most convenient: Plane;
- Best value: Sleeper bus;
How to travel from Yogyakarta to Bali
Here I’ll focus on the main three ways to do the journey – a direct bus, a train from Yogyakarta to Ketapang Harbour, a ferry to Gilimanuk, and then a minibus to wherever you want on Bali, for example, Denpasar.
Direct Bus
To the surprise of many, there are a few companies running direct buses between Yogyakarta and Bali. There is both a very economical seated bus and a sleeper bus that costs a bit more.
The direct bus from Yogyakarta to Denpasar takes around 16 hours for the 725 km.
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 more or less the same quality.

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 Jogja and Denpasar?
You will find many tour operators and agents selling these tickets in both Denpasar and Yogyakarta (especially in the backpackers’ area around Prawirotaman). These are reliable and convenient but charge extra for them.

Instead, check out Tamijaya online for more information. You can’t book online, but they have their WhatsApp listed and you can easily book after a quick chat.
- 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.

From Yogyakarta to Probolinggo the road is pretty good and it’s 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, and bus combo
Java and Bali are NOT connected by a bridge, so there’s no direct train between the two.
What you want to do is take a train from Yogyakarta to Ketapang Harbour, then board the ferry over to Gilimanuk and voila you’re in Bali. From Gilimanuk there are minibuses to Lovina and Denpasar.
Let’s look at the details.
Train from Yogyakarta to Ketapang
There is one direct train daily leaving Lempuyangan Station in Yogyakarta at 07:20 AM and arriving in Ketapang after 12 hours 50 minutes at 20:10.
It is economy class and the ticket costs 94.000 IDR (6.2$).

There are other combinations of trains that can 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.
Check out this detailed guide for what magnificent places to explore in East Java if you want to break up the journey.
Ferry across the Bali Strait

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$.
Bus from Gilimanuk to Denpasar or Lovina
There are relatively frequent minibuses towards Lovina (1 hour, 20.000 IDR / 1.3$) and towards 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 by train is 94000+6500+50000 = 150.500 IDR (10$).
Flights
There are many direct flights daily between Bali and Yogyakarta both ways. The airlines that offer this route are Indonesia Air Asia, Lion Air, and Garuda Indonesia to name a few.
The price fluctuates between 40$ and 55$ on the low-cost carriers and 75 to 120$ on Garuda.
You can check tickets at Skyscanner.

The flights depart from Yogyakarta International (YIA), not from Adisutjiptu Airport, the one closer to the city.
The cheapest and most convenient way to reach YIA is with the Bandara train that leaves Yogyakarta Tugu train station every hour on average and costs 20.000 IDR (1.3$) or 50.000 IDR (3.3$) if it’s one of the few express trains.
Check the times and book online at the KAI Bandara website.
Other ways to travel between Bali and Yogyakarta
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 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 of time 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.
Message (+62 823 3022 8307) on WhatsApp for the best motorcycle rental that I always use in Yogyakarta. Say you found the number from Simon to get a special offer.
There’s absolutely no problem taking a rented motorcycle across the Bali Strait on the ferry.

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 a cost of 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 70.000 and 150.000 (4.6 to 9.8$) 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.
Awesome Tours From Yogyakarta to Bali
If all of that isn’t really for you, or your budget allows you, there are some absolutely incredible tours you can take that will take you from Yogyakarta to Bali with various stops on the way.
This tour will take you on a 5D/4N 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 literally 0 planning on your side – just remember to take pictures.