How to get from Yogyakarta to Bali
Leaving from...
Going to...
Loading route:
Why visit Bali?
Ubud is the cultural capital of Bali — a fascinating mix of nature, historic temples, and traditional art and crafts. Its serene vibe and lush green landscape attract not only adventurers but also travellers looking for wellness and yoga retreats.
This upland town is home to the iconic Tegallalang Rice Terraces, a sacred monkey forest, the impressive Goa Gajah ancient caves, and an impressive art scene. Ubud’s famed art heritage dates back to the early 20th century, and it is arguably the most famous traditional arts hub in Southeast Asia.
What are the 3 ways to travel from Yogyakarta to Bali?
There are 3 ways to travel the 700 kilometre (435 miles) distance from Yogyakarta to Bali. You can choose between the bus, train and flight. The journey takes 2 hours 20 minutes to 21 hours 30 minutes and the quickest way is by flight. If you're on a budget, the cheapest option is by train with tickets starting at 225,000 IDR ($13.30).
Yogyakarta to Bali by Train
Travelling via a combined train and ferry from Yogyakarta to Bali is long and fairly tiring. The train ride itself takes half a day, followed by a short ferry ride and a 4 to 5-hour bus or taxi ride to Denpasar.
This is an option to consider for travellers with time and a craving to see rural East Java beyond Indonesia’s famous tourist spots.
Considering the travel time of at least 16.5 hours, you can break up the journey to visit some hot spots like Bromo and Ijen volcanoes on the way. A dedicated multi-day overland tour is arguably a better option for the Yogyakarta to Bali route.
Step 1: Yogyakarta city centre to Ketapang Station by Train
From Yogyakarta city centre, you need to take a train to Ketapang Station in Banyuwangi. This town is on the far east side of Java, and ferries for Bali depart from this town’s port.
There are only two trains from Yogyakarta to Ketapang. You can take the cheaper morning train from Lempuyangan Station or the night train from Tugu Station. These stations are just 2 km apart in Yogyakarta city centre.
The indicated prices are for economy class seats, but executive class seats are also available at Tugu Station with rates from 470,000 IDR ($27.50).
We suggest taking the night train from Yogyakarta to Ketapang. This way you can save your valuable daytime and at the same time a night on accommodation. You’ll also have a shorter waiting time for the bus trip to central Bali for the last step.
Step 2: Ketapang Station to Ketapang Harbour by Foot
Ketapang Station is less than a kilometre away from Ketapang Harbour. You can reach it on foot in just 10 minutes.
If you are weighed down with heavy luggage, you can also take a taxi. Bear in mind the short distance and negotiate a price beforehand to avoid any expensive surprises.
Step 3: Ketapang Harbour to Gilimanuk Harbour by Ferry
The next step is to take a ferry from Ketapang Harbour to Gilimanuk Harbour on the northwestern tip of Bali.
As long as weather permits, ferries from Ketapang to Gilimanuk operate every hour, 24 hours a day. This is a car ferry, so you can also bring your motorcycle or car across to Bali.
The journey takes only 45 minutes and tickets cost 10,000 IDR ($0.60). You can buy your ticket at the pier or online via Ferizy.
Step 4: Bus or taxi from Gilimanuk Harbour
Gilimanuk Port is located all the way in northwest of Bali. From here, it’s still a 3-hour drive to Canggu, 3.5-hour to Ubud and more than 4.5-hour drive to Uluwatu.
If you are heading to any of these destinations, you can choose between taking a taxi directly to your destination or taking the bus to Denpasar or Mengiwi.
By Taxi
If you have the budget for it, it’s possible to take a taxi from Gilimanuk Terminal all the way to your Bali destination. Expect to pay close to 1,000,000 IDR ($59) for popular destinations like Canggu, Seminyak or Ubud.
By Bus to Denpasar
From the port, Gilimanuk Bus Terminal is a just 10-minute walk. Here, you can take a bus going to Terminal Ubung in Denpasar. Tickets cost 50,000 IDR ($2.90) for the 3.5 to 4.5-hour bus ride.
You can then take a taxi from Terminal Ubung to your hotel in Bali. Expect to pay around 70,000 IDR ($4.10) – 100,000 IDR ($5.90) to Kuta, Seminyak or Canggu.
Bus schedule from Gilimanuk to Denpasar
| Bus company | Schedule | Costs |
|---|---|---|
| PO Putra Abadi | 04:15-08:40 13:30-18:00 13:45-18:15 |
50,000 IDR ($2.90) Check Bus Tickets |
| PT Putra Sehati | 00:30-04:00 12:45-16:15 14:30-18:00 15:30-19:00 16:00-19:30 |
50,000 IDR ($2.90) Check Bus Tickets |
By Bus to Mengwi
There are also buses from Gilimanuk to Mengwi Bus Terminal, which is more or less between Ubud and Canggu. A ticket costs around 65,000 IDR ($3.80) for the 3-hour bus ride. However, the last time we checked (March 2023), we couldn’t confirm the bus schedule for this route.
From Mengwi, you can book a Grab taxi to Ubud for around 50,000 IDR ($2.90), Canggu 80,000 IDR ($4.70) or Kuta for around 145,000 IDR ($8.50). The drive to Canggu and Ubud will take about 30-45 minutes and about 1 hour to Kuta.
Alternatively, you can pre-book the Perama Tour bus from Mengwi to Kuta with rates from 120,000 IDR ($7.10) on 12Go.Asia.
PRO TIP: Heading to northern Bali? From Gilimanuk, there is a direct bus service to Singaraja in North Bali. This passes through the main beach resort area of Lovina. Fares are from 45,000 IDR ($2.70) and it takes about 1.5 hours.
TIP: Relax and unwind at Sumberkima Hill Retreat
If you’ve just completed your overland journey through East Java, you’re likely in need of some relaxation time. Rather than hurrying off to one of Bali’s popular tourist spots, why not spend a few nights in the north of Bali and truly feel like you’re on vacation after a week of intense travel through Java?
Sumberkima Hill Retreat is the perfect place to experience real peace and enjoy stunning views of Ijen (and perhaps Bromo Volcano) simultaneously. In our Java to Bali itinerary, I’ve provided additional tips on how to kick off your adventure upon arrival in the north of Bali via ferry from Java.
If you already know where to go, don’t miss the chance to at least check out the Sumberkima Hill retreat on booking.com.
Yogyakarta to Bali by Bus
The bus is an affordable way to get from Yogyakarta to Bali but be prepared for a long journey. Bus fares start from 419,000 IDR ($24.50) and the journey takes around 17 hours 30 minutes to 21 hours 30 minutes.
You can choose from two bus companies operating on this route: Safari Dharma Raya and DAMRI.
Bus options from Yogyakarta to Bali
Yogyakarta to Bali by Flight
The fastest way to travel from Yogyakarta to Bali is by flight. The flight takes only about 1.5 hours, and including the transfers to and from the airports, the overall travel time is about 2 hours 20 minutes.
All direct flights operate from the new Yogyakarta International Airport (YIA), about 42 km southwest of the city centre. The older Adisucipto International Airport (JOG) near the city centre also offers a few flights from Yogyakarta to Bali, but they make a stop in Jakarta.
See below for a step-by-step guide when taking a flight from Yogyakarta to Bali.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Step 1: Yogyakarta city centre to Yogyakarta International Airport
You have three options when travelling from Yogyakarta city centre to the new Yogyakarta Airport in Kulon Progo:
- 40-minute train – 20,000 IDR ($1.20)
- 1.5-2 hour bus – 70,000 IDR ($4.10)
- 1.5-hour taxi – 205,000 IDR ($12.10)
We suggest taking a train from Tugu Station to the airport. The railway station is located next to Malioboro Street and has a direct train line connecting with the airport. By taking the train you won’t need to worry about traffic congestion.
A bus or a taxi is a good alternative if you’re coming from other areas in Yogyakarta. You can visit our guide on Yogyakarta International Airport for more information.
Step 2: Yogyakarta to Bali by Flight
Both direct and indirect flights from Yogyakarta to Bali operate from Yogyakarta International Airport. For direct flights, you can choose between Lion Air, Air Asia, and Garuda Indonesia.
A direct flight to Bali takes about 1h 20m. Airfares range between 600,000 IDR ($35.50) and 1,300,000 IDR ($77).
It’s best to check Skyscanner for the latest schedules and cheapest rates because they vary depending on your travel date.
Step 3: Bali Airport to Bali city centre by Taxi
Bali Airport, also known as Ngurah Rai or Denpasar Airport, is in the south of Bali island. From the airport, you can go anywhere in Bali via taxi or private car.
Airport taxis are easily available outside the arrivals hall. Keep in mind that rides are prepaid at the taxi counter and are more expensive than ordering a taxi online. Rates start at 120,000 IDR ($7.10) for the short trip to Kuta. Travel time is about 20 minutes, depending on where your accommodation is located.
Ride-hailing apps like Grab are sometimes cheaper, but it still depends on the time you’re booking. Grab has an air-conditioned lounge and pick-up point outside the arrivals area, so you can head there while waiting for your ride. It also costs around 120,000 IDR ($7.10) to Kuta.
The third option is to pre-book an airport ride at least a day prior to your arrival. Rates for a private car booked via Klook start from 110,000 IDR ($6.50), depending on the destination. You can book a ride through the link below.
Rounding it up
We hope this guide was helpful in planning how to get from Yogyakarta to Bali. If there's anything else you're wondering about, drop us a comment and we'll do our best to answer you within a few days.
PS: If you've recently travelled this route, share your experience with fellow travellers and help us improve this post. Thanks for helping out our travel community!
Frequently Asked Questions about Yogyakarta to Bali
What is the distance from Yogyakarta to Bali?
How long does it take to travel from Yogyakarta to Bali?
How much does it cost to get from Yogyakarta to Bali?
Fares for a flight from Yogyakarta to Bali start at 730,000 IDR ($43) when you travel in the off-peak season. Airfares rise considerably in the dry season (May to October).
If you’re taking the train, combined costs start from 225,000 IDR ($13.30) to get to Bali from Yogyakarta.
What can I expect from Bali?
Bali is beautiful temples, white-sand beaches, amazing waves, and vibrant nightlife all rolled into one.
Its beaches range from popular tourist spots like Kuta and Seminyak, to more secluded and quieter options like Nusa Dua and Lovina. As for temples, some of the must-visit are Uluwatu Temple, Pura Besakih, and Tanah Lot Temple.
Bali is a tropical island so you should expect hot and humid weather throughout the year. It is also a popular tourist destination and can be quite crowded, particularly during peak season.
How to get around in Bali?
There are several ways to get around in Bali. The most popular option among tourists is renting a car or a scooter. These allow you to explore the island at your own pace.
However, it’s important to note that traffic in Bali can be chaotic and driving can be dangerous. If you’re not comfortable driving on your own, you can hail a private car or a motorbike through apps like Grab and Gojek.
Public transportation in Bali includes bemos (minibuses), buses, and metered taxis. Bemos are the most common and affordable, but they can be crowded and do not always run on schedule.
Was this post helpful?
Click on a star to rate it!
Average rating 5 / 5. Vote count: 7
No votes so far! Be the first to rate this post.
We are sorry that this post didn't meet your expectations.
Your feedback is very valueable to us
What was missing in this post? (TIP: If you want us to reply to your feedback, you can leave your email in this text box.)
Ela is a storyteller, content producer, solo traveller and a mermaid-in-training. When she’s not in front of her laptop, you will find her barefoot and living her best tan on some island in the Philippines… Or exploring the depths of its seas as a budding freediver. An island girl at heart, she’ll be happy anywhere there is sea, sand, sun and coffee.
Based in Bali, Maarten’s passion for travel is undeniable. In 2016, he decided to quit his job as a stock analyst and started doing what he always dreamed of: travelling through South East Asia and helping other people plan their trips. When he is not working on Gecko Routes, you’ll find him surfing in the ocean or exploring the best gems of Indonesia.

