Bali to Yogyakarta: Flight vs Train vs Bus Transfer Compared

Bali to Yogyakarta how to get there is usually a choice between a short direct flight or a longer overland combo of ferry, train and bus. The right option depends on how much time you have, your budget, and whether you also want to see Bromo, Ijen or Tumpak Sewu along the way.

As Java From Bali’s itinerary and value editor, I’ll walk through each Bali to Yogyakarta transfer in plain language — flight, train and bus — with real-world duration, indicative cost ranges and how they actually feel on the road.

Bali to Yogyakarta: Key Facts at a Glance

Before going into detail, here’s the short version.

Bali to Yogyakarta distance
Roughly 560–620 km “as the crow flies” (Denpasar to Yogyakarta), but overland routes zig-zag and feel much longer.
Fastest option
Direct flight Denpasar (DPS) → Yogyakarta (YIA/JOG), about 1 hr 10 min flight time; door-to-door typically 4–6 hours including check-in and transfers.
Cheapest option
Overland bus or mixed shuttle/ferry/bus, usually 12–16+ hours, sometimes overnight. Less comfort, more variables.
Most scenic / experiential
Ferry from Bali to Java + train across East/Central Java, ideally folded into a 3–5 day Bromo/Ijen/Tumpak Sewu + Yogyakarta circuit.
Can you do a Yogyakarta day trip from Bali?
Realistically no. You’d spend more time in transit than in Yogyakarta. A tight but workable visit starts at 3 days / 2 nights.
Prices (last verified June 2026)
Flights from ~US$70–220 one way; overland shuttle/ferry/bus from ~US$35–90; multi-day private overland circuits with Bromo/Ijen from ~US$450–900 per person depending on group size and hotel level.

Option 1: Bali to Yogyakarta Flight — The Time-Saver

For most travelers, the Bali to Yogyakarta flight is the default. It’s fast, straightforward and avoids juggling ferries and overland transfers.

Routes, Airlines and Flight Time

You’ll depart from Bali’s Ngurah Rai International Airport (DPS) and arrive at one of Yogyakarta’s two airports:

  • Yogyakarta International Airport (YIA) – the main airport now, about 1–1.5 hours from central Yogyakarta by toll road.
  • Adisutjipto Airport (JOG) – the older, smaller airport much closer to town (around 20–30 minutes); far fewer flights than in the past.

Typical direct flight time: about 1 hour 10 minutes gate-to-gate.

Most schedules across the year include:

  • 1–3 direct flights per day in each direction in high season.
  • Fewer frequencies in shoulder/low season; some days may only have 1 direct option.

If you’re looking at a connection via Jakarta or Surabaya just to get to Yogyakarta — that’s almost never worth it from Bali. A same-day direct flight is usually available if you book even a little ahead.

Flight Cost: What to Expect

Indicative one-way fares, last checked June 2026:

  • Low-cost carriers (promo, hand luggage only):
  • Roughly US$70–110 one way Bali → Yogyakarta
  • Standard economy with checked bag included or better schedule:
  • Roughly US$110–220 one way

Price drivers:

  • Season: July–August, late December and some public holidays push prices to the top of that range.
  • How early you book: buying 2–8 weeks in advance usually beats last-minute.
  • Time of day: early morning or very late evening departures can be cheaper.

Door-to-Door Duration

The flight itself is short. The total journey takes longer:

  • 1–1.5 hours from your Bali hotel to DPS (traffic near Kuta/Seminyak/Canggu can spike).
  • Arrive at the airport 1.5–2 hours before departure for domestic flights.
  • ~1 hr 10 min flight time.
  • 20–30 minutes at JOG or 60–90 minutes from YIA into central Yogyakarta.

So door-to-door you’re realistically looking at:

  • About 4–6 hours total on a good day.

That’s still miles better than a 12–16 hour overland haul if your goal is “Bali + temples” without East Java volcano stops.

Pros and Cons of Flying Bali to Yogyakarta

Advantages

  • Fastest overall: Frees up extra time for Borobudur, Prambanan, Malioboro or extra nights in Bali.
  • Predictable: No ferry delays or overnight roads.
  • Simple luggage handling: One check-in, one pick-up.

Drawbacks

  • You skip East Java: No Bromo, no Ijen, no Tumpak Sewu en route.
  • Airport locations: YIA is far from town, so transfer time and cost add up.
  • Limited spontaneity: You’re locked to flight times, unlike a flexible overland leg.

If your Java plan is purely Yogyakarta-focused and you’re short on days, the flight is almost always the smart call.

Option 2: Bali to Yogyakarta by Train — Ferry + Rail Across Java

There is no direct Bali to Yogyakarta train because Bali has no rail network. Any “Bali to Yogyakarta train” route is a combination of:

  1. Transfer from your Bali hotel to Gilimanuk ferry port
  2. Ferry from Gilimanuk → Ketapang (Banyuwangi, East Java)
  3. Train from Banyuwangi or Surabaya → Yogyakarta

Done right, this is far more than a transfer. It’s the backbone of a classic Bali + East Java + Central Java circuit.

Typical Overland + Train Route

Here’s the standard westbound route from Bali:

  1. Bali → Gilimanuk (by car/shuttle)
  • 3–4.5 hours from South Bali depending on traffic.
  1. Gilimanuk → Ketapang ferry
  • Short crossing: about 45–60 minutes sailing time.
  • Departures run 24/7 with frequent boats.
  1. Ketapang → Banyuwangi town
  • 20–40 minutes by car or local transport.
  • Many travelers stay 1 night here to rest, or as a base for Ijen.
  1. Train to Surabaya Gubeng or direct to Yogyakarta
  • Fastest: morning train Banyuwangi → Surabaya (around 6–7 hours), then onward to Yogyakarta (about 5 hours).
  • In some seasons there are direct Banyuwangi → Yogyakarta services (long day ride, fewer choices).

You can also start the rail leg from Probolinggo (after Bromo) or Malang (after Tumpak Sewu), which gives a bit more flexibility on timings and scenery.

How Long Does the Bali to Yogyakarta Train Route Take?

If you tried to do it all in one push, Bali → ferry → Surabaya → Yogyakarta, it would be a very long day or an overnight mix. More useful are these benchmarks:

  • Bali (South) → Gilimanuk: 3–4.5 hours by car/shuttle.
  • Ferry crossing: ~45–60 minutes on the water, plus waiting/boarding.
  • Ketapang → Banyuwangi city: 20–40 minutes.
  • Banyuwangi → Surabaya Gubeng by train: usually 6–7 hours.
  • Surabaya → Yogyakarta by train: roughly 5–6 hours depending on service.

Straight-through travel time with tight connections can hit about 16–18 hours. Most people sensibly break this up:

  • Night 1: Banyuwangi for Ijen.
  • Night 2: Near Mount Bromo or Malang for Tumpak Sewu.
  • Night 3+: Yogyakarta.

Train Classes and Comfort

Indonesian long-distance trains are much more comfortable than most buses. On the main Java routes you generally have:

  • Eksekutif (Executive): Air-con, wider reclining seats, more legroom, 2–2 configuration.
  • Bisnis (Business): Air-con, decent seats, slightly tighter spacing, 2–3 across.
  • Ekonomi (Economy): Air-con but basic, 2–3 configuration, more crowded, less legroom.

For a long day like Surabaya → Yogyakarta, we strongly recommend Eksekutif if your budget allows. On a 5–6 hour ride, that extra space and quieter carriage really help.

Bali to Yogyakarta Train Cost (via Java)

Indicative per-person costs (last verified June 2026, for guidance only):

  • Bali → Gilimanuk shuttle / private car:
  • Shared shuttle: around US$10–25
  • Private car with driver: around US$60–110 depending on pick-up area and vehicle
  • Gilimanuk → Ketapang ferry foot passenger:
  • Around US$2–5 equivalent
  • Banyuwangi → Surabaya Gubeng (train):
  • Economy: roughly US$10–20
  • Executive: roughly US$20–35
  • Surabaya → Yogyakarta (train):
  • Economy: roughly US$12–25
  • Executive: roughly US$25–45

Total transport-only costs, Bali to Yogyakarta by ferry + train, end up:

  • Roughly US$50–120 per person, depending on:
  • Train class
  • Shared vs private transfers
  • Time of booking and season

That doesn’t include hotels or any volcano tours; more on those in the itinerary section later.

Train Route: Who Is It For?

This rail-focused Bali to Yogyakarta itinerary option suits travelers who:

  • Want a more local, ground-level view of Java.
  • Plan to stop at Banyuwangi, Bromo, Ijen or Malang/Tumpak Sewu anyway.
  • Prefer trains to long bus rides at night.

If you just want to transfer, the train is slower and more involved than flying. Its value is in transforming “getting from A to B” into a multi-stop journey.

Option 3: Bali to Yogyakarta by Bus or Shuttle

You’ll see “shuttle bus from Bali to Yogyakarta” offers advertised in Bali guesthouses and online. These typically combine:

  • A minivan from Bali to Gilimanuk
  • The ferry ride
  • A minivan/bus connection across East and Central Java

What “Bali to Yogyakarta by Bus” Really Looks Like

There are two broad patterns:

  1. Shared shuttle + long-distance bus
  • Shuttle from your Bali location to Gilimanuk.
  • Walk or arranged transfer onto the ferry.
  • On Java side, connect to a scheduled intercity bus bound for Yogyakarta.
  1. Through minivan service
  • A single minivan or small bus continues all the way, boarding the ferry by vehicle and driving on to Yogyakarta.

Comfort levels vary a lot. Seats can be snug, air-con inconsistent, and rest stops simple. For some, that’s part of the story. For others, it’s exactly what they’re trying to avoid on holiday.

Bali to Yogyakarta Bus Duration

Expect:

  • Bali (South) → Gilimanuk: 3–4.5 hours
  • Ferry loading + crossing + unloading: 1.5–2+ hours (variable)
  • Java drive → Yogyakarta: often 9–12 hours depending on route, traffic and number of stops

Total: commonly 13–18 hours door-to-door, with a real risk of delays.

Most buses do this overnight, arriving in Yogyakarta early morning. That saves a hotel night, but sleep quality is hit-and-miss.

Bali to Yogyakarta Bus Cost

Indicative prices per person, last verified June 2026:

  • Shared shuttle + bus packages:
  • Roughly US$35–70 one way
  • Slightly more comfortable or branded “VIP” buses:
  • Around US$60–90 one way

Key trade-offs:

  • Lowest cost among the main options.
  • Longest and least predictable travel time.
  • Comfort strongly dependent on the specific bus, driver and passenger load.

If you’re trying to save every dollar and you’re used to long-haul bus journeys in Southeast Asia, this can make sense. If you value rest and a clear head the next day, it’s rarely the best money-value once you factor in the “cost” of a wiped-out day.

Flight vs Train vs Bus: Cost and Time Comparison

Here’s a simple comparison to help you choose your Bali to Yogyakarta itinerary option at a glance.

Option Typical door-to-door time Indicative one-way cost (per person) Comfort & experience Best for
Direct flight (DPS → YIA/JOG) ~4–6 hours ~US$70–220 Short but airport-heavy; simple and relatively comfortable. Time-poor travelers focused on Yogyakarta only.
Ferry + train via Java ~16–18 hours if rushed; better as 2–4 days with stops Transport only ~US$50–120 Scenic and more spacious on Executive class; more logistics but more character. Travelers building in Bromo, Ijen, Tumpak Sewu on a multi-day route.
Bus / shuttle + ferry ~13–18 hours, often overnight ~US$35–90 Basic to moderate comfort; can be cramped and tiring. Ultra-budget travelers used to long bus journeys.

If you’d like help weighing up your dates, energy levels and budget, you can always plan your trip with our Bali Premium Trip team over WhatsApp. We’ll price out both flight and overland options side by side so the trade-offs are crystal clear.

Can You Do a Yogyakarta Day Trip from Bali?

Short answer: no, not realistically.

Here’s why a “Yogyakarta day trip from Bali” breaks down in practice:

  • Even with the fastest possible flight, you’re looking at:
  • 1–1.5 hours to reach DPS and check in.
  • 1 hr 10 min flight time.
  • 1–1.5 hours from YIA to Yogyakarta city.
  • That’s 3.5–4 hours each way door-to-door, in perfect conditions.

You’d burn 7–9 hours in transport before even adding:

  • Check-in/out buffers.
  • Time getting to Borobudur or Prambanan.
  • The fact that Borobudur now limits visitor numbers and requires time slots and advance registration for upper-terrace access.

You’d end up with maybe 2–3 rushed hours at one site, if everything runs on time. That’s not a good trade.

The Minimum That Makes Sense: 3D/2N

For a tight but workable Bali + Yogyakarta plan:

  • Day 1: Fly Bali → Yogyakarta, sunset at Prambanan.
  • Day 2: Early Borobudur visit (sunrise from surrounding hills or local viewpoints if inside-temple sunrise slots aren’t available), then Yogyakarta city highlights.
  • Day 3: Free morning, then fly back to Bali or onward.

Add a 4th or 5th day and things get more relaxed — you can include a side trip to Merapi area, or spend time in Wonosobo/Dieng Plateau if you like cooler highland scenery.

Why the Overland Route Often Wins: Bromo, Ijen and Tumpak Sewu

If your only question is “how to get from Bali to Yogyakarta as fast as possible,” the answer is simple: fly.

But most people land on Java From Bali because they’re curious about combining Bali’s beaches and temples with East and Central Java’s volcanoes and waterfalls. That changes the equation.

Surabaya: The East Java Gateway

Surabaya is the main air and rail hub between Bali and Yogyakarta. There are two common ways to use it:

  • Fly Bali → Surabaya, then:
  • Drive to Bromo (about 3–4 hours by car).
  • Continue by train or car to Yogyakarta after a sunrise.
  • Go overland Bali → Banyuwangi → Bromo → Surabaya:
  • Take the train from Surabaya to Yogyakarta or continue by private vehicle.

Surabaya’s main station, Gubeng, has frequent trains into Central Java. That makes it a flexible point to switch from car-based volcano touring to rail.

Banyuwangi and Ijen: Java’s Eastern Edge

Banyuwangi, just across the Ketapang ferry from Bali, is the base for Mount Ijen — known for its turquoise crater lake and, on certain nights, its “blue fire” caused by burning sulfur gas.

Even if you don’t go up Ijen, Banyuwangi makes sense as:

  • A rest stop after the Bali–Java ferry.
  • A place to reset before a longer rail leg west.

From Banyuwangi you can:

  • Take a morning train to Surabaya, then onward to Yogyakarta.
  • Or drive via the North Coast road, then cut inland toward Malang or Bromo.

Malang and Tumpak Sewu: Waterfall Detour

From Malang, about 2 hours by road from Bromo areas, you can reach Tumpak Sewu, one of Java’s most impressive multi-tiered waterfalls.

This is best handled as:

  • A dedicated day trip from Malang, or
  • An overnight in the waterfall area for a slower pace.

From Malang, you can board a train to Yogyakarta, or return via Surabaya for more frequent departure times.

Wonosobo: Mountain Gateway Before Yogyakarta

Coming into Central Java, Wonosobo is a useful highland base:

  • It’s used as a gateway to the Dieng Plateau, a volcanic upland region with small temples and crater lakes.
  • It sits between Bromo/Malang and Yogyakarta, making it a cooler overnight stop before finishing in the city.

Integrating Wonosobo works well if you prefer shorter driving days and like a mountain feel before you end the trip among temples and batik shops.

Sample Bali + Java Itinerary Options Including Yogyakarta

To give you a sense of how all this connects, here are a few patterns we often arrange. Costs are indicative only (last verified June 2026) and assume private driver, mid-range hotels and licensed local guides arranged by our Bali Premium Trip team.

3 Days / 2 Nights: Bali + Yogyakarta by Flight

Best if you just want to add Borobudur and Prambanan to a Bali holiday.

Day 1 – Fly Bali → Yogyakarta

  • Morning flight DPS → YIA or JOG.
  • Afternoon: city orientation, Malioboro, or rest at your hotel.
  • Sunset at Prambanan.

Day 2 – Borobudur and Surrounds

  • Early departure to the Borobudur area.
  • Sunrise from a nearby hill or village viewpoint (inside-temple sunrise slots are now limited and regulated).
  • Explore Borobudur complex with a licensed guide.
  • Optional village cycle or local food experience in the area.
  • Return to Yogyakarta.

Day 3 – Fly out

  • Free morning or city touring.
  • Afternoon flight back to Bali or onward in Indonesia.

Indicative private package cost (excluding Bali hotels and Bali flights): around US$450–900 per person for 2–4 travelers, varying by hotel level, exact inclusions and season.

4–5 Days: Overland East Java + Yogyakarta (Ferry + Car + Train)

This is the sweet spot if you want Ijen and Bromo plus Yogyakarta.

Day 1 – Bali → Banyuwangi (Java)

  • Private transfer from South Bali to Gilimanuk.
  • Ferry crossing to Ketapang (Banyuwangi).
  • Overnight in Banyuwangi.

Day 2 – Ijen Crater → Bromo Area

  • Very early start for Ijen hike (timed for pre-dawn if you want to try for blue fire; not always visible).
  • Descend and drive toward Bromo area (about 4–6 hours).
  • Overnight near Bromo.

Day 3 – Bromo Sunrise → Surabaya → Yogyakarta

  • Pre-dawn 4×4 jeep to a Bromo viewpoint (we arrange licensed jeeps via local operators).
  • Explore the caldera area depending on conditions.
  • Return for breakfast and drive to Surabaya Gubeng station.
  • Afternoon/evening train Surabaya → Yogyakarta.
  • Overnight in Yogyakarta.

Day 4 – Borobudur + Prambanan

  • Day as in the flight itinerary above.
  • Optional Day 5 for city and surroundings.

Indicative private package cost (transport, guides, mid-range hotels, park fees, not including meals and Yogyakarta–Bali flight back if you return to Bali): typically around US$700–1,400 per person for 4–6 travelers, higher for 2-person trips or premium hotels.

The range is wide because your choices (hotel grade, number of nights, private vs shared jeep) drive a big part of the cost.

Should You Book Each Segment Yourself or Use a Planner?

You absolutely can do all of this independently:

  • Book your own DPS → YIA/JOG flights.
  • Buy train tickets online (many have English-language booking sites).
  • Arrange local drivers on arrival.

For confident, flexible travelers with time to troubleshoot, that can work.

Where a planner like Java From Bali (operated by Bali Premium Trip) helps is in:

  • Sequencing flight, ferry, train and car segments so they realistically connect.
  • Booking licensed local guides, jeeps and park permits for Bromo, Ijen and key temple visits.
  • Giving you a single contact on WhatsApp if the ferry is late or a train time shifts.

You still book directly with our Bali Premium Trip reservations team at transparent, published rates — there’s no hidden markup from third-party resellers. On the ground, guides, jeeps and some vehicles are operated by our vetted local partners, and we’re upfront about that.

If that sounds like the level of support you’d like, you can plan your trip with us and we’ll map flight vs ferry + train options clearly before you commit.

FAQs

How long is the Bali to Yogyakarta flight time?

The direct flight from Bali’s DPS airport to Yogyakarta (YIA or JOG) is about 1 hour 10 minutes gate-to-gate. Including hotel transfers and check-in, expect around 4–6 hours door-to-door.

What is the Bali to Yogyakarta distance?

The straight-line distance between Denpasar (Bali) and Yogyakarta is roughly 560–620 km. Overland routes via ferry and roads are longer in both distance and time because they curve around coastlines and through mountain passes.

Is the ferry and train route from Bali to Yogyakarta safe?

Yes, it is generally considered safe and is used daily by local travelers. The Gilimanuk–Ketapang ferry runs 24/7, and Java’s mainline trains are reliable. The usual common-sense travel habits apply: keep valuables close, avoid leaving bags unattended, and choose daytime connections for more comfortable journeys when possible.

Which is cheaper: Bali to Yogyakarta flight vs ferry and train?

On a bare transport-only basis, the ferry plus train route is usually cheaper, at roughly US$50–120 per person versus US$70–220 for a flight (last verified June 2026). Once you factor in extra nights in Java, volcano tours and guides, a multi-day overland route will cost more overall — but you’re also adding major experiences like Bromo and Ijen, not just transport.

Can Java From Bali arrange a complete Bali to Yogyakarta flight tour package?

Yes. Through our Bali Premium Trip reservations team we arrange door-to-door Bali hotel transfers, DPS–Yogyakarta flights, Yogyakarta hotels, licensed guides, site permits and onward overland or flight connections across Java. We don’t own the aircraft, trains or park jeeps; we coordinate them via licensed local partners and package everything at transparent, published rates so you have one clear plan and one main point of contact on WhatsApp.

Scroll to Top