How to get from Bali to Yogyakarta
 
				
					

Bali (Denpasar) to Yogyakarta is easiest by direct flight to Yogyakarta International Airport (YIA). Overlanders can cross by ferry to Java and continue by train (scenic) or take a direct overnight bus. Private car + ferry is the most flexible for families or lots of luggage. Compare the options below with step-by-steps and map links.
At A Glance (Bali to Yogyakarta)
| Mode | Duration | Best For | 
|---|---|---|
| ✈️ Flight (DPS → YIA) | ~1h20 flight + ~60–90m YIA→city | Fastest overall | 
| 🏷️ Cost: ~IDR 700k–2.0m one-way (seasonal) » search flights | Trip.com fares | ||
| ⛴️🚆 Ferry (Bali→Java) + Trains via Banyuwangi/Surabaya | ~13–18h total (connections) | Scenic journey, rail fans | 
| 🏷️ Cost: Ferry ~IDR 8k–10k + trains ~IDR 250k–700k » compare trains | ||
| 🚌 Direct Overnight Bus (via ferry) | ~15–20h door-to-door | Cheapest single-ticket overland | 
| 🏷️ Cost: ~IDR 350k–700k one-way » compare buses | ||
| 🚐 Private Car/Driver + Ferry | ~13–16h (breaks/traffic-dependent) | Families, bulky luggage, full flexibility | 
| 🏷️ Cost: ~IDR 3.8m–7.5m per vehicle + ferry » get quotes | ||
Which Option or Route Should You Choose?
- Fastest/least hassle: Fly DPS→YIA, then airport train/bus or car to central Yogyakarta.
- Most scenic overland: Ferry + trains via Banyuwangi/Surabaya to Yogyakarta Tugu (YK).
- Lowest cost single ticket: Direct overnight bus Bali→Yogyakarta (ferry included).
- Door-to-door + custom stops: Private car/driver with ferry crossing and flexible breaks.
How to Book and Practical Tips
- Buy early for weekends/holidays: Compare flights on Booking.com Flights and Trip.com; overland seats on 12Go.
- Airports & transfers: Bali’s airport is Ngurah Rai (DPS); Yogyakarta’s main commercial airport is YIA (farther from town). Use Grab/Gojek at both ends or prebook a car via GetTransfer.
- Luggage storage: Sightseeing before departure/after arrival? Use Radical Storage Bali or Radical Storage Yogyakarta.
- Rail notes: Most rail journeys from East Java require a change in Surabaya/Jember; bring snacks, keep e-tickets handy.
- Safety & comfort: Overnight buses are comfortable but bring a layer (A/C) and earplugs. For self-drive, consider flying instead—road is long.
✈️ Option #1 — Flight (DPS → YIA) — Fastest & Easiest
Fastest Many daily flights Airport transfer at YIA
- Overview: Nonstop flights run from Bali (DPS) to Yogyakarta International (YIA). From YIA, continue to the city by airport train/bus, taxi, or ride-hailing.
- How to book (with price): ~IDR 700k–2.0m one-way depending on season. Compare on Booking.com Flights and Trip.com.
- Official info: Yogyakarta International Airport provides on-site train/bus signage and schedules (check at terminal on arrival).
- Pros: Quick, frequent, minimal planning. Cons: YIA is ~40–60 km from the city; factor 60–90 minutes transfer.
Step-by-step: Flight DPS→YIA
- Get to Ngurah Rai Airport (DPS) from your Bali hotel using Grab/Gojek, or compare a meet-and-greet car via GetTransfer.
- Search and book your DPS→YIA flight on Booking.com Flights or Trip.com; check in online and arrive ~2 hours before departure.
- Land at YIA; follow signs for the airport train (when timings align) or take the airport bus/taxi/Grab to central Yogyakarta (Tugu/Malioboro).
- Ride ~60–90 minutes to your hotel; many properties are near Tugu Station and Malioboro Street.
Getting to the main embarking points (DPS & YIA)
- DPS departures: Domestic departures level; allow time for traffic from Ubud/Canggu/Seminyak.
- YIA arrivals: Signage for train/bus/taxi is clear; ride-hailing zones are marked.
- Locations/Trip Planner: 🔗 Google Map / 🔗 OpenStreetMap
⛴️🚆 Option #2 — Ferry to Java + Trains via Banyuwangi/Surabaya (Most Scenic Overland)
Scenery Budget-friendly Long travel day
- Overview: Travel by road from Bali to Gilimanuk, take the short ferry to Ketapang (Banyuwangi), then continue by train—usually via Surabaya Gubeng—to Yogyakarta Tugu (YK).
- How to book (with price): Ferry ~IDR 8k–10k (pay at terminal); trains from ~IDR 250k–700k depending on class. Compare and buy e-tickets on 12Go.
- Official info: Ferry operator ASDP publishes port info/schedules (check at Gilimanuk/Ketapang). Indonesian Railways: KAI.
- Pros: Classic Java rail experience, scenic coast and rice fields. Cons: One or two train changes; total time is long.
Step-by-step: Ferry + Trains
- From your Bali base (e.g., Denpasar/Ubud), ride to Gilimanuk Port by shuttle/minivan or car (4–6h from south Bali). Use Grab/Gojek for the first hop, or charter via GetTransfer.
- Buy a passenger ticket at Gilimanuk and board the frequent ferry to Ketapang (Banyuwangi) (~45–60 minutes crossing).
- From Ketapang, go to Banyuwangi Baru/Ketapang Station or Banyuwangi Kota and take a train toward Surabaya Gubeng, then connect to a Yogyakarta-bound train (Tugu station). Compare departures/classes on 12Go.
- Arrive at Yogyakarta Tugu (YK); walk/Grab to Malioboro hotels.
Getting to the main embarking points (Gilimanuk, Ketapang & Surabaya Gubeng)
- Gilimanuk Port: Bemos/minivans from Bali towns; most travelers arrange a car/van from Denpasar/Canggu/Ubud.
- Ketapang Port/Stations: Port is close to Ketapang Station; Banyuwangi Kota is a short ride away.
- Surabaya Gubeng: Major hub with frequent Yogyakarta trains—aim for a tight but realistic connection.
- Locations/Trip Planner: 🔗 Google Map / 🔗 OpenStreetMap
🚌 Option #3 — Direct Overnight Bus (Cheapest Single Ticket Overland)
Budget One ticket Long ride
- Overview: Executive/night buses run Bali→Yogyakarta with the ferry crossing included. Seats vary from 2+2 executive to sleeper pods on some lines.
- How to book (with price): ~IDR 350k–700k one-way. Compare companies and boarding points on 12Go.
- Pros: Direct, simple logistics; saves a hotel night. Cons: 15–20 hours, rest-stop lights/AC can disturb sleep.
Step-by-step: Overnight Bus
- Pick a Bali boarding point (e.g., Mengwi/Ubung terminals or operator offices). Check schedules/seating on 12Go.
- Arrive 30–45 minutes early for check-in; stow big luggage under the coach, keep valuables with you.
- Bus drives to Gilimanuk, boards the ferry to Ketapang, then continues across East/Central Java overnight.
- Arrive at Yogyakarta (often Giwangan/Jombor/agency stop); use Grab/Gojek to reach your hotel.
Getting to the main embarking points (Bali terminals & Yogya arrival)
- Bali boarding: Operators have different pickup points—confirm exact address on your e-ticket.
- Yogyakarta arrival: Giwangan (south) or Jombor (north) are common; taxis/Grab/Gojek available.
- Locations/Trip Planner: 🔗 Google Map / 🔗 OpenStreetMap
🚐 Option #4 — Private Car/Driver + Ferry (Door-to-Door Flexibility)
Door-to-door Custom stops Costly vs. bus/train
- Overview: Charter a car/van in Bali to Gilimanuk, cross as foot or vehicle passengers, then continue by prearranged Java-side car to Yogyakarta—or keep the same long-haul driver if arranged.
- How to book (with price): From ~IDR 3.8m–7.5m per vehicle depending on size and whether one or two cars are used. Get quotes on GetTransfer or browse day-charter listings on Klook.
- Pros: Hotel pickup/drop, total control of stops/timing. Cons: Long day, higher cost than bus/train; driver rest breaks needed.
Step-by-step: Private Car + Ferry
- Request a quote with pickup time, passengers, and luggage via GetTransfer (Bali). Ask if they cover both islands or plan a car change at Ketapang.
- Ride to Gilimanuk; buy ferry tickets (if vehicle, the driver handles this). Cross to Ketapang.
- Continue Java-side to Yogyakarta with planned meal/fuel stops in Situbondo/Probolinggo/Surabaya area.
- Arrive at your Yogya hotel (Malioboro/Tugu are central).
Getting to the main embarking points (Hotel→Gilimanuk→Yogya)
- Pickup: Any Bali hotel/villa/airport; confirm child seats if needed.
- Route: Northwest Bali to Gilimanuk → ferry to Ketapang → Trans-Java route to Yogyakarta.
- Locations/Trip Planner: 🔗 Google Map / 🔗 OpenStreetMap
FAQ (Bali to Yogyakarta)
Is there a direct train from Bali to Yogyakarta?
No. Bali is an island without rail. You must ferry to Java (Ketapang) and continue by train—usually with a change in Surabaya.
How long does the ferry take?
Roughly 45–60 minutes Gilimanuk↔Ketapang, with frequent departures day and night.
Which airport serves Yogyakarta?
YIA (Yogyakarta International) handles most flights. It’s ~60–90 minutes to central Yogyakarta depending on the train/bus timing and traffic.
What’s the most budget-friendly way?
A direct overnight bus (ferry included) is usually the cheapest single ticket. Ferry + trains can also be economical if you book economy classes.
Where should I stay on arrival?
Around Malioboro/Tugu for easy station access; Prawirotaman for cafés; near Prambanan for quieter nights. Compare on Booking.com.
Can I rent a scooter in Yogyakarta?
Yes—many travelers use scooters for temples and countryside. Compare options on BikesBooking.

