You have had your time in Yogyakarta. You have seen Borobudur at sunrise, walked the stone corridors of Prambanan, explored the Sultan’s Palace, and eaten Gudeg on Malioboro Street. The batik shops, the street musicians, the ancient royal city with its volcanic backdrop, all of it has been exactly what everyone said it would be.
Now the next chapter of your Indonesia trip is calling, and for most travellers, that next chapter is Bali.
Yogyakarta and Bali are two of the most visited destinations in all of Indonesia, sitting on neighbouring islands separated by the narrow Bali Strait.
This guide covers all of the options for this trip in detail, so you can make the right choice for the kind of traveler you are.
One thing worth knowing before diving in: if you are thinking about visiting Bromo Volcano and Ijen Crater on your way from Yogyakarta to Bali, our company organizes private tours that cover both volcanoes and drop you in Bali at the end. It is one of the most popular ways to travel this route and one of the most rewarding journeys you can make in East Java. Full details are available at MountBromoIjen.com.
Before we get to the main stuff, just wanted to let you know – if you’re thinking about booking a tour around Yogyakarta, we’d love to help out. We’ve got some great reviews on TripAdvisor and Viator if you want to check those out. Here’s where you can see our tour packages: Yogyakarta Tour. Drop us an email at [email protected] anytime, or just hit the WhatsApp button over in the corner – whatever’s easier for you.
Contents
- Quick Comparison: Yogyakarta to Bali
- Yogyakarta to Bali by Flight
- Departure Airports in Yogyakarta
- Arrival Airport in Bali
- Airlines and Ticket Prices
- Getting the Most Out of a Short Yogyakarta Stopover
- Yogyakarta to Bali by Train
- Train Stations in Yogyakarta
- Train Options to Banyuwangi
- The Time Zone Difference
- Ferry from Ketapang (Java) to Gilimanuk (Bali)
- Getting from Gilimanuk to Your Destination in Bali
- Yogyakarta to Bali by Bus
- How the Bus Journey Works
- Bus Operators
- Seat Classes and What They Mean for a 12-Hour Journey
- Departure from Yogyakarta
- Arrival in Bali
- Bus Ticket Prices from Yogyakarta to Bali
- The Scenic Route: Yogyakarta to Bali via Bromo and Ijen
- Practical Tips for the Journey
Quick Comparison: Yogyakarta to Bali
Before going into each route in full detail, here is a clear overview of your options:
By Flight: 1 to 1.5 hours direct. Fastest option by far. Best for travelers with limited time or those who want to maximize days in Bali rather than spend them in transit.
By Train and Ferry: 14 to 19 hours total across two stages. Slower but scenic, affordable, and genuinely enjoyable if you appreciate the journey as part of the experience.
By Bus: 12 to 15 hours overnight. The most economical option. Best for budget travelers comfortable with overnight journeys who want to wake up in Bali having spent almost nothing on transport.
Via Bromo and Ijen: 3 days. The most immersive option. Best for travelers with time to spare who want two of Indonesia’s most extraordinary volcanic experiences built directly into the journey between the two cities.
Check this link if your trip is in reverse : How to go from Bali to Yogyakarta
Yogyakarta to Bali by Flight
For travellers with limited time, flying from Yogyakarta to Bali is by far the most efficient option. The flight itself takes between one hour and one hour thirty minutes direct, and with multiple daily departures operating from two airports serving Yogyakarta, there is almost always a schedule that works.
Departure Airports in Yogyakarta
Yogyakarta is served by two airports, and knowing which one your flight departs from matters significantly given the travel time to each.
Yogyakarta International Airport (YIA) is the main international airport, located in Kulon Progo Regency approximately 45 kilometers west of the city center. This is the larger facility handling the majority of major domestic and international routes including most flights to Bali. From Yogyakarta city center, allow at least 1.5 to 2 hours to reach YIA, and more during morning rush hour or weekend traffic. Do not underestimate this drive. Travelers who leave the city center 90 minutes before departure have missed flights. Give yourself two full hours minimum.
Adisucipto Airport (JOG) is the older airport located just 8 kilometers east of the city center, significantly more convenient to reach. However, this airport now handles considerably fewer routes than YIA and may not serve your preferred carrier or schedule. Check which airport your flight operates from when booking.
Transportation from the city to YIA includes DAMRI airport buses operating from Malioboro and several other city stops for around IDR 30,000 to IDR 40,000. Travel agent minibus shuttles offer door-to-door service for IDR 80,000 to IDR 120,000 per person. Online taxis via Gojek or Grab are available but at YIA distances, the ride costs IDR 150,000 to IDR 250,000 depending on traffic and surge pricing.
If you need airport transfer service in advance, you may book from this link : Yogyakarta Airport Transfer Service
Arrival Airport in Bali
All flights from Yogyakarta land at I Gusti Ngurah Rai International Airport (DPS) in Denpasar, Bali, the island’s only commercial airport. From the arrivals hall, official airport taxis operate at fixed rates to all major areas. Kuta and the immediate airport vicinity take 15 to 30 minutes. Seminyak and Canggu take 30 to 45 minutes depending on Bali’s often significant traffic. Ubud takes approximately 1.5 to 2 hours. Nusa Dua is around 30 to 45 minutes heading south. Book a private transfer through your hotel to avoid overcharging, or use the official metered taxi counters inside the arrivals hall rather than accepting offers from drivers outside. If you need airport pickup service, we can recommend our Balinese friend. You may check or contact him via his Instagram Account TjokBawa.
Airlines and Ticket Prices
Multiple carriers operate the Yogyakarta to Bali route daily. Budget carriers including Lion Air, Batik Air, Citilink, and Wings Air typically offer tickets starting at IDR 500,000 to IDR 700,000 for economy class. Full-service carriers such as Garuda Indonesia start at IDR 900,000 to IDR 2,000,000 and above, depending on timing and availability. During peak season in July and August and around the December to January holiday period, prices on all carriers rise sharply. Book at least two weeks in advance for reasonable rates, and four to six weeks ahead during peak months.
Getting the Most Out of a Short Yogyakarta Stopover
Many travellers flying from Yogyakarta to Bali have only one day in the city before their departure. If that is your situation, plan carefully to make the most of it without rushing. Book an early morning arrival flight into Yogyakarta and an evening departure to Bali. Arriving at 8:00 or 9:00 AM gives you a full day before a 7:00 or 8:00 PM departure from YIA.
In that window, a guided tour covering both Borobudur Temple and Prambanan Temple is completely manageable and covers the two most important UNESCO World Heritage Sites in the entire Yogyakarta region. Our Borobudur and Prambanan Temple Tour is designed specifically for travellers in this one-day situation, with hotel pickup, English-speaking guide, entrance tickets, and return to your accommodation included before you need to leave for the airport.
Yogyakarta to Bali by Train

The train journey from Yogyakarta to Bali is not a single ticket. There is no rail line crossing the Bali Strait, so the route divides into two stages: a train from Yogyakarta to Banyuwangi at the eastern tip of Java, followed by a short ferry crossing from Ketapang Port in Banyuwangi to Gilimanuk Port in Bali. From Gilimanuk, you continue by road to your final destination in Bali.
It is a longer journey than flying by a significant margin. But many travelers who have made this trip describe the overland experience as one of the highlights of their time in Indonesia. You move through the Javanese countryside at ground level, watching the landscape shift from the cultural heartland of Central Java through the volcanic highlands of East Java, arriving finally at the coast with Bali visible across the water. The transition from one island to the next becomes something you feel rather than something that happens while you are asleep in a pressurized cabin.
Train Stations in Yogyakarta

Yogyakarta has two main train stations. Yogyakarta Station (YK), also known as Tugu Station, is the main station located in the city centre near Malioboro Street. This station handles executive and business class trains and is the departure point for most premium services. Lempuyangan Station (LPN) is located approximately 2 kilometers east of Yogyakarta Station and handles economy class services. Both are easily reachable by online taxi from anywhere in Yogyakarta city.
Train Options to Banyuwangi
The destination on the Java side is Ketapang Station (KTG) in Banyuwangi, located within walking distance of the Ketapang ferry port. This is where you board the ferry to Bali.
There are two main options for the train journey itself:
The Sri Tanjung is an economy class service departing from Lempuyangan Station (LPN). The journey takes approximately 12 hours and ticket prices are under IDR 100,000, making it one of the most affordable long-distance rail journeys in Indonesia. However, economy class seats are upright and non-reclining, and sitting in that configuration for 12 hours is genuinely exhausting. This option suits only travelers with a very tight budget and a high tolerance for discomfort on long journeys.
Executive class trains depart from Yogyakarta Station (YK) and cover the same route to Ketapang Station (KTG) in approximately the same time. The difference is entirely in comfort. Executive class seats recline significantly, air conditioning is reliable, legroom is adequate, and the overall environment makes a 12-hour journey manageable rather than punishing. Tickets cost approximately IDR 500,000 to IDR 700,000, or roughly USD 30 to USD 45. For a journey of this length, the upgrade from economy to executive class is almost always worth the additional cost. Travel in executive if your budget allows it.
There are also business class seats on some services at a price point between economy and executive, offering better seating than economy without the full executive price.
Book train tickets through KAI Access, the official Indonesian Railway app, or through Traveloka and Tiket.com. Seats on popular routes fill quickly, particularly on weekends and during public holidays. Book at least one week in advance as a minimum. Two to three weeks in advance is safer during school holiday periods in June, July, and December. To be able to book the bus ticket from the apps, you should change the currency setting to Indonesian Rupiah (IDR)
The Time Zone Difference
One practical detail that catches many travellers off guard: Yogyakarta and Bali operate in different time zones. Yogyakarta uses Western Indonesia Time (WIB, UTC+7). Bali uses Central Indonesia Time (WITA, UTC+8), which is one hour ahead of Java. This means that if your train arrives at Ketapang Station at 9:00 PM Java time, it is already 10:00 PM Bali time when you board the ferry. Plan your connecting arrangements and accommodation check-in times in Bali accounting for this one-hour shift. It is a small detail that matters when you are arriving late and need to coordinate a driver or hotel reception.
Ferry from Ketapang (Java) to Gilimanuk (Bali)
From Ketapang Station, the ferry port is within comfortable walking distance. Ferries cross the Bali Strait between Ketapang Port in Banyuwangi and Gilimanuk Port in Bali around the clock, operating 24 hours a day throughout the year. The crossing itself takes approximately 30 to 60 minutes under normal sea conditions. Ferry tickets for foot passengers cost approximately IDR 30,000 to IDR 60,000 per person, making it one of the most affordable sea crossings in Southeast Asia.
During peak travel periods, particularly the July to August dry season and the Christmas and New Year period, the ferry queue can be long and waiting times at the dock can extend to several hours. Vehicles queue separately from foot passengers, and foot passengers generally board faster. If you have a time-sensitive connection on the Bali side, build in significant buffer time. The ferry crossing is the one part of this journey where unexpected delays are most likely.
Getting from Gilimanuk to Your Destination in Bali
Gilimanuk sits at the far western tip of Bali, and the distances from here to the major tourist areas are substantial. Kuta and the airport area are approximately 3 to 4 hours east by road. Ubud is around 3.5 to 4.5 hours. Seminyak, Canggu, and Nusa Dua are similar distances. Sanur is closer to 4 hours.
From Gilimanuk, transport options include bus connections through Mengwi Bus Terminal in Badung Regency, shared shuttle services organized by travel agencies, and private taxis arranged through your hotel. Online taxis via Gojek operate in Bali but availability directly at Gilimanuk Port can be limited depending on the time of arrival. Pre-arranging a private transfer from Gilimanuk to your accommodation in Bali is the most reliable option, especially for late night arrivals.
Yogyakarta to Bali by Bus

The overland bus from Yogyakarta to Bali is the most budget-friendly option and the most hands-off. You buy one ticket, board one bus, and the bus handles everything: the drive east across Java, the boarding of the ferry at Ketapang, the crossing, and the road journey through Bali to the final drop-off points. No separate ferry ticket to buy. No connection to arrange. The operator manages the full route.
How the Bus Journey Works
The total journey from Yogyakarta to Denpasar in Bali takes approximately 12 to 15 hours depending on traffic conditions, time spent at ferry queues, and the specific route taken by the operator. Most buses on this route depart in the late afternoon or evening from Yogyakarta, cross Java overnight, board the early morning ferry, and arrive in Bali during the morning or early afternoon hours. The overnight timing works in your favor: you sleep through the longest part of the journey and wake up already in Bali.
The bus drives east from Yogyakarta through Central and East Java, passing through Surabaya or the southern route depending on the operator, continuing to Banyuwangi at the eastern tip of Java. At Ketapang Port, the bus drives onto the ferry, passengers remain on board or disembark during the crossing depending on the operator, and the bus continues from Gilimanuk through Bali to the final destination.
Bus Operators
Several established operators service the Yogyakarta to Bali route. Well-known names include Pahala Kencana, Gunung Harta, Safari Dharma Raya, Rosalia Indah, MTrans, and Lorena, among others. Each operator has its own fleet, its own class options, and its own service standards. The quality of the physical bus matters more than the brand name, so pay attention to the class you are booking rather than just the operator.
Seat Classes and What They Mean for a 12-Hour Journey
For a journey of this length, your seat class has a direct impact on how you feel when you arrive in Bali. Arriving stiff, exhausted, and unable to sleep takes the shine off your first Bali morning significantly. Choose your class accordingly.
Economy class uses a 2-2 seat configuration with upright or minimally reclining seats. It is the cheapest option and the least suited for overnight travel on a 12 to 15 hour route. If budget is your absolute primary concern, it is workable, but it is not comfortable.
Executive class typically uses a 2-1 or 2-2 configuration with seats that recline more substantially, better legroom, and more space overall. This is the minimum recommended class for overnight journeys of this length. The additional cost over economy is modest and the difference in comfort is significant.
Sleeper class buses offer berths that lie fully flat or nearly flat, similar to a long-distance train sleeper compartment. If your chosen operator offers sleeper class on this route, it is the most comfortable option and the one most likely to have you arriving in Bali reasonably rested. Sleeper berths cost more than executive seats but for a 12 to 15 hour overnight journey, many travelers find the premium completely justified.
Standard facilities on most executive and sleeper buses include air conditioning, USB charging ports, reading lights, blankets, and toilet access. Most operators include a meal stop at a roadside restaurant along the route, with dinner either included in the ticket price or available for purchase. This stop also gives passengers a chance to stretch and use bathroom facilities beyond the onboard toilet.
Departure from Yogyakarta
The main departure hub for long-distance buses from Yogyakarta is Giwangan Bus Terminal, located in the south of the city. Some operators also have their own agency offices within the city offering pickup from central locations, which is more convenient depending on where you are staying. Check directly with your chosen operator for the most convenient pickup point relative to your accommodation. From Malioboro or the city center, Giwangan takes approximately 20 to 30 minutes by online taxi.
Arrival in Bali
Buses arriving in Bali typically stop first at Mengwi Bus Terminal in Badung Regency, approximately 18 kilometers north of Kuta, before continuing to additional drop-off points in Denpasar. Some operators offer additional stops in Kuta or Denpasar city depending on the service. From Mengwi, online taxis via Gojek or Grab can take you to your final destination in Bali. Book the ride the moment you arrive to minimize waiting time.
Bus Ticket Prices from Yogyakarta to Bali
Bus tickets from Yogyakarta to Bali cost approximately IDR 200,000 to IDR 450,000 for economy and standard executive class. Sleeper class tickets typically range from IDR 500,000 to IDR 700,000. These prices make the bus the most affordable transport option on this route by a significant margin compared to flying, and for travelers who are comfortable with overnight journeys, the value is strong.
Book tickets through each operator’s own website or through Traveloka and Tiket.com for easy comparison between operators and classes on the same route. To be able to book the bus ticket from the apps, you should change the currency setting to Indonesian Rupiah (IDR)
The Scenic Route: Yogyakarta to Bali via Bromo and Ijen
There is a fourth way to make this journey that does not fit neatly into the flight, train, or bus categories. It takes longer, it covers more ground, and it delivers two of the most extraordinary natural experiences in all of Indonesia as part of the transfer between cities.
Between Yogyakarta and Bali, sitting in the highlands of East Java exactly on the geographic path between the two, are two volcanoes that serious travelers do not skip.
Mount Bromo sits inside the Tengger Caldera at 2,329 meters above sea level, surrounded by a vast volcanic sand sea and flanked by the perfect cone of Mount Batok and the towering summit of Mount Semeru, Java’s highest peak at 3,676 meters. Watching the sunrise from Penanjakan Hill above the caldera, with Bromo’s smoke column catching the first light and the sand sea below turning from grey to gold, is one of those travel experiences that stays with people for the rest of their lives. Not because the photographs are good, which they are, but because the scale and the silence and the geological enormity of the place are impossible to fully prepare for.
Ijen Volcano is a different kind of extraordinary. At the crater rim at 2,386 meters, a turquoise acid lake sits inside a caldera surrounded by sulfurous rock and constant volcanic gas. In the pre-dawn hours, burning sulfur at the crater’s edge produces a blue fire phenomenon that glows electric in the darkness, a sight that occurs at this scale nowhere else on earth. Sulfur miners descend into the crater before dawn carrying loads of up to 90 kilograms of raw sulfur on their shoulders, emerging through the smoke and the blue glow in one of the most genuinely humbling scenes you will witness in Indonesia.
Both Bromo and Ijen sit directly between Yogyakarta and Bali on the map. Traveling this route without stopping at them is like flying over the Grand Canyon with the window shade down.
Our company organizes a private 3-day tour departing from Yogyakarta that visits Bromo on the first morning, Ijen in the pre-dawn hours of the second day, and delivers you to the Ketapang ferry for Bali by midday on the third day. The package is fully inclusive covering private transportation, accommodation near both volcanoes, English-speaking local guides, national park entrance fees, and the final transfer to the ferry. Everything is arranged. You carry your bag and follow the guide.
If you are traveling the opposite direction and want to combine Bromo and Ijen on the way from Bali to Yogyakarta instead, the same itinerary in reverse is available at Borobudur Sunrise Tour.
Practical Tips for the Journey
Whatever route you choose, a few practical points apply across all of them.
Carry enough cash in Indonesian Rupiah for the journey. Ferry ports, roadside stops, and bus terminals along the route do not always have ATMs. Withdraw before leaving Yogyakarta city.
Keep your accommodation details in Bali accessible offline. Mobile data can be unreliable at Gilimanuk Port and the western Bali road stretch immediately after the ferry crossing. Screenshot your hotel address and phone number before you arrive at the coast.
If taking the train or bus route, pack a light layer. Overnight transport in Indonesia runs air conditioning aggressively, and the temperature inside buses and trains can drop significantly below the tropical warmth outside. A light jacket or sarong makes the difference between a comfortable journey and an uncomfortable one.
For the Bromo-Ijen route, temperatures at both crater viewpoints drop to between 3 and 10 degrees Celsius before dawn. Packing a proper warm layer for these mornings is not optional. Bring it from Yogyakarta rather than counting on finding appropriate outerwear near the volcanoes.
Read also : How to go from Jakarta to Yogyakarta by Train
Read also : How to go from Jakarta to Bandung
Read also : Bandung to Yogyakarta by Train
Read also : Transport Option from Yogyakarta to Semarang





