Yogyakarta to Bali

How to Get From Yogyakarta to Bali

3Options
2h 30mFastest
$13From
ElaMaartenWritten by Ela · Reviewed by Maarten · Updated 1 week ago

Flight · Bus · Train

Bali sits 536 kilometres (333 miles) east of Yogyakarta, across Java and over a narrow strait. Flying is the quickest option, taking 2h 30m. By land, the train is the cheapest way to get from Yogyakarta to Bali at $13 (225,000 IDR). It's a long haul, though, around 14h 30m - 19h. The bus costs more and takes about as long.

Distance from Yogyakarta to Bali

Yogyakarta and Bali are about 536 km (333 miles) apart, and the journey itself covers around 686 km by road. The quickest way to get from Yogyakarta to Bali is by taking the flight, which takes around 2h 30m.

~536 km
Distance
~686 km
Road distance
2h 30m
Fastest
COMPARE

3 ways to travel from Yogyakarta to Bali

There are three ways to travel from Yogyakarta to Bali. You can choose between the flight, bus, and train. The journey takes 2h 30m–14h 30m and the quickest way is by flight. If you're on a budget, the cheapest option is by train with tickets starting at $13 (225,000 IDR).

FlightFastestRecommendedDuration2h 30mPrice$105(1,850,000 IDR)
incl. transfers — see itinerary
  1. YogyakartaYogyakarta International Airport40m
  2. YogyakartaBali1h 20m
  3. Bali AirportBali city centre20m

Reach out to our Community

No questions yet — be the first to ask about Yogyakarta to Bali.

Yogyakarta to Bali by Flight

Best Value
2h 30mFrom $105 (1,850,000 IDR)

The fastest way to travel from Yogyakarta to Bali is by flight. Travel time is only 2h 30m, including the transfers to and from the airports.

It's also the most expensive option, with combined fares from $105 (1,850,000 IDR). But given the convenience and comfort of this option compared to land travel, we think the price is well worth it.

Yogyakarta has 2 airports, but all direct flights to Bali depart from Yogyakarta International Airport (YIA).

TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.

Step 1: How to get to Yogyakarta Airport

40 minutes$1.10 (20,000 IDR)

Yogyakarta International Airport is the city's primary airport, about 45 km away from the tourist centre in Malioboro. The most convenient way to get there is by train.

A ticket for a regular free-seating train costs $1.10 (20,000 IDR), and travel time is about 40 minutes. You can board the train at Tugu Station (Yogyakarta Station), within walking distance of Malioboro. The train's last stop is at YIA Train Station, which is connected to Yogyakarta International Airport.

Alternative options are a bus that costs $4.50 (80,000 IDR) and a taxi with rates from $13 (240,000 IDR). For private transfers, prices are similar whether you take a Grab/Gojek or book one in advance via Klook.

Heads up: by bus or taxi, the journey from the city centre to Yogyakarta International Airport takes 1.5 to 2 hours.

Visit our page on Yogyakarta Airport for more details.

Step 2: Flight from Yogyakarta to Bali

1h 30m$96 (1,720,000 IDR)

Garuda Indonesia and Super Air Jet are the main carriers operating flights from Yogyakarta to Bali.

A direct flight takes about 1h 30m. Airfares start from $96 (1,720,000 IDR).

Indirect flights are also available for this route, but there's no point taking them because they're often more expensive than direct flights.

Step 3: Taxi from Bali Airport to Bali city centre

20 minutes$6.20 (110,000 IDR)

All flights from Yogyakarta arrive at Bali Airport, also known as Ngurah Rai or Denpasar Airport. From here, you can go anywhere in Bali via private transport.

The most convenient option is to book a private ride with Klook beforehand. Klook often offers the cheapest rates, and you can expect the driver to be waiting for you as soon as you arrive. Rates start from $6.40 (115,000 IDR) to Kuta or Seminyak and $14 (250,000 IDR) to Ubud.

Alternatively, you can hail a taxi through Grab or Gojek, with fares from $7.30 (130,000 IDR). Both companies are now recognised at Bali Airport, and each has its official lounge.

Stay away from drivers waiting outside the airport and offering a ride. They can be quite aggressive, and they're known for overcharging tourists.

For more details, check out our complete guide for Bali Airport.

Flight tickets are available on Skyscanner.

Yogyakarta to Bali by Bus

14h 30m - 19hFrom $22 (380,000 IDR)

The bus is an affordable way to get from Yogyakarta to Bali, but be prepared for a long journey. Bus fares start from $22 (380,000 IDR) for the journey that takes around 14h 30m - 19h.

Although a "direct bus," note that this option includes a 45-minute ferry crossing from Java to Bali Island. This will be taken care of by your bus provider, though. So you won't have to worry about anything.

You can choose from three bus companies operating on this route: MTrans, Mansion and Gunung Harta .

It's quite a long journey, so try to book at least an executive bus for the trip.

Bus schedule from Yogyakarta to Bali

Gunung HartaExecutive14h 30m
12:0014:30
$22
380,000 IDR
Gunung HartaSuper Executive15h 45m
10:45
$23
410,000 IDR
MTransExecutive18h
12:0012:20
On request
MTransDouble-decker18h 20m
12:0012:20
On request
MansionExecutive19h
11:00
On request

Bus tickets are available on Bookaway and Easybook.

View bus stations on map

Map of stations
Click to explore
From
To

Yogyakarta to Bali by Train

14h 30m - 19hFrom $13 (225,000 IDR)

On a budget? If you have a lot of time and you're looking for adventure, a combined train and ferry is the cheapest way to get from Yogyakarta to Bali. Combined fares start from only $13 (225,000 IDR).

It's long and fairly tiring, though. The train ride itself takes half a day, followed by a short ferry ride, then a 4 to 5-hour bus or taxi.

Considering the journey takes 14h 30m - 19h, 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: Train from Yogyakarta to Ketapang

9h 30m - 13h$5.30 (95,000 IDR)

From Yogyakarta city centre, you need to take a train to Ketapang Station in Banyuwangi. Ferries bound for Bali depart from Ketapang Harbour, which is a 10-minute walk from this train station.

Four trains operate from Yogyakarta to Ketapang. Two depart in the morning from Lempuyangan Station, the other two depart in the evening from Tugu Station. These stations are 2 km apart in Yogyakarta city centre.

Day or night train?

When travelling by train from Yogyakarta to Ketapang, you can choose to take a day or night train.

If you travel during the day, you'll get a chance to see rural East Java beyond Indonesia’s famous tourist spots. But with this option, you won't make it in time for the last bus trip going to Bali. You'll have to spend the night in either Ketapang or Gilimanuk.

If you take the night train, you can save your valuable daytime as well as a night on accommodation. You’ll also have a shorter waiting time for the bus trip to central Bali for the last step.

All services arrive at Banyuwangi

From Lempuyangan Station11h 44m
Yogyakarta
07:0009:36
$5.30
95,000 IDR
From Tugu Station9h 32m
Yogyakarta
18:3121:20
$20
360,000 IDR

Train tickets are available on Ticket.com.

Booking Tip

The indicated prices are for economy class seats, but executive class seats are also available at both Lempuyangan and Tugu Station.

Step 2: Ketapang Station to Ketapang Harbour by Foot

10 minutes

Ketapang Station is less than a kilometre away from Ketapang Harbour. You can reach the pier 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: Ferry from Ketapang Harbour to Gilimanuk Harbour

45 minutes$0.60 (10,000 IDR)

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 $0.60 (10,000 IDR). You can buy your ticket at the pier or online via Ferizy.

Step 4: Bus or Taxi from Gilimanuk Harbour to Central Bali

4-5 hours$6.70 (120,000 IDR)

Gilimanuk Port is located on the northwest coast of Bali. From here, it’s still a 3-hour drive to Canggu, 3.5 hours to Ubud and more than 4.5 hours to Uluwatu.

If you are heading to any of these destinations, you can choose between taking a direct taxi or taking the bus to Denpasar or Mengwi.

By Taxi

A private transfer is the most convenient way from Gilimanuk Terminal to your destination in Bali. We recommend booking your ride beforehand, so you know it will be waiting for you when you arrive at the harbour.

You can book a 3-seater car on 12go.asia with rates from $51 (910,000 IDR) to popular spots like Canggu or Kuta. If you're travelling with more people (or more luggage), bigger cars are available on GetYourGuide. Prices are from $84 (1,500,000 IDR)

There are also taxis waiting outside Gilimanuk Harbour if you weren't able to book a private car in advance. Expect to pay around $67 (1,200,000 IDR)when going to popular destinations like Canggu, Seminyak or Ubud. Prepare to haggle, and make sure to agree on a price before getting onboard.

By Bus to Denpasar

On a budget? When heading to the southern side of Bali — Kuta, Seminyak, Canggu, Uluwatu, Nusa Dua — it's best to take a bus to Denpasar.

Start by walking to Gilimanuk Bus Terminal, which is just 10 minutes from the port. Here, you can take a bus going to Terminal Ubung in Denpasar. Tickets cost $3.40 (60,000 IDR). The advertised travel time is around 3.5 hours. But with the usual traffic in Bali, it usually takes 4 to 5 hours.

From Terminal Ubung, the easiest way to get to your hotel in Bali is by Grab or Gojek. Fares start from $3.90 (70,000 IDR). Note that there is a strong taxi mafia around most transport hubs in Indonesia, so you might have to walk a bit away from the bus terminal to meet your driver.

Bus schedule from Gilimanuk to Denpasar

Bus company

Schedule

Costs

Putra Sehati Transport

00:30-04:00

02:00-06:00

12:45-16:45

14:30-18:30

15:00-19:00

15:30-19:30

$3.40 (60,000 IDR)
Check Bus Tickets

By Bus to Mengwi

Are you going north to Ubud or Tegallalang? You'll want to take a bus from Gilimanuk to Mengwi Bus Terminal.

A ticket costs around $4.20 (75,000 IDR) and travel time is about 4 hours.

From Mengwi, you can book a Grab taxi to Ubud for around $5.60 (100,000 IDR) and to Tegallalang for about $7.60 (135,000 IDR). With the usual traffic to Ubud, the ride could take about an hour.

Heading to Bali's northern coast?

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 $3.90 (70,000 IDR), and the bus ride takes about 2 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, we've provided additional tips on how to kick off your adventure upon arrival in the north of Bali via ferry from Java.

ABOUT YOUR DESTINATION

Why Visit Bali?

Bali is Indonesia’s tropical paradise known for its blend of natural beauty and cultural heritage. Fondly called the "Land of the Gods," the island boasts postcard-perfect attractions — white-sand beaches, rice terraces, age-old temples and picturesque cliffs.

The mere thought of Bali evokes feelings of freedom and adventure. Its sheer beauty attracts travellers to visit, but it's the warm people and laidback vibe that make many want to stay longer — some for months, and others for years. No wonder Bali is a favourite among surfers and digital nomads!

Rounding it up

That's the full picture for getting from Yogyakarta to Bali, roughly 536 kilometres (333 miles) apart. In all, there are 3 ways to make the trip. The cheapest fare is $13 (225,000 IDR). The quickest trip takes 2h 30m.

Prices and timetables change, so it's worth a quick check before you travel. Have a question, or travelled this route recently? Ask the community below and we'll do our best to help.

Frequently Asked Questions

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

The fastest way to get from Yogyakarta to Bali is by flight and takes 2h 30m.

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

The cheapest way to get from Yogyakarta to Bali is by train with ticket costs starting from 225,000 IDR.

What is the distance from Yogyakarta to Bali?

Yogyakarta and Bali are separated by a distance of 700 km.

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

Travel time between Yogyakarta and Bali takes around 2.5 hours by flight and 16.5-19 hours by train.

How much does it cost to get from Yogyakarta to Bali?

Fares for a flight from Yogyakarta to Bali start at 730,000 IDR 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 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.

CHANGELOG

Route Update History

  • New bus operator: Mansion.
  • Updated bus prices.
  • Updated bus departure times.
  • Updated train prices.
  • Updated bus prices.
  • Updated bus departure times.
  • New bus operator: Gunung Harta.
  • Updated flight prices.
  • Updated train prices.
  • Updated train departure times.

About the Authors

Ela
Ela

Senior Travel Writer

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.

Maarten
MaartenReviewer

Founder & Trip Planning Expert

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.

Affiliate Disclosure

Some links on this page are affiliate links. If you book through them, we earn a small commission at no extra cost to you. This helps us keep Gecko Routes free and up to date.

Stay Connected

Join our Community

We're a small team of passionate travellers sharing what we've learned on the road. Get our best tips, route updates, and travel stories delivered to your inbox.

Unsubscribe anytime.