How to Get from Surabaya to Yogyakarta
Leaving the industrial hum and soaring skyscrapers of Surabaya for the cultural soul of Java is a journey that reveals the island's heart. As you move west, the urban sprawl of East Java's capital gradually gives way to a landscape of emerald rice paddies and volcanic silhouettes. Yogyakarta, or Jogja as locals affectionately call it, sits at the end of this path, offering a slower pace where ancient traditions, courtly history, and a vibrant arts scene take center stage.
This route is a favorite for travelers who want to experience the efficiency of Indonesia's developing infrastructure. Whether you choose the rhythmic clatter of the rails or the flexibility of the highway, the transition from the bustling port city to the royal city of the Sultan is both seamless and scenic. You can easily secure your transport for this journey by booking through GoAsia.cc, ensuring you have a seat on the best services available.
Surabaya to Yogyakarta by Bus
The bus is often the most efficient way to travel this route due to the Trans-Java Toll Road, which has significantly slashed travel times. With prices ranging from $7 to $23, it is generally the most budget-friendly option. Depending on traffic and the specific service, the journey can take anywhere from 3 hours 40 minutes to 7 hours 30 minutes.
Executive and Luxury Services
Most travelers opt for the Executive class, which provides reclining seats, air conditioning, and often a snack or meal included in the ticket price. For those looking for maximum comfort during a night run, the Luxury class offers a more spacious seating arrangement. There are also Premium seat options available throughout the day, which use smaller vans or high-end coaches to provide a faster, more direct shuttle experience between the two cities.
Surabaya to Yogyakarta by Train
Taking the train is the classic Indonesian travel experience. It is reliable, comfortable, and offers some of the best views of the Javanese countryside. The journey typically takes between 4 hours 30 minutes and 6 hours 4 minutes, with ticket prices ranging from $6 to $37.
Executive Class
For those who value comfort, the Executive class (sub-classes AA, AB, AC, and AD) is the way to go. These carriages feature plush, reclining seats with plenty of legroom, individual power outlets, and a dedicated cooling system that can sometimes be quite chilly. It is a quiet and smooth way to travel, perfect for catching up on reading or simply watching the volcanic landscape roll by.
Economy Class
The Economy class (sub-classes CA, CB, CC, CD, and C) has seen massive improvements in recent years. While the seats are more upright and the space is tighter than in Executive, the carriages are clean and fully air-conditioned. It is an excellent choice for budget-conscious travelers who still want a reliable and safe journey. The price difference between the sub-classes usually reflects how early you book or the specific position of the carriage within the train.
Comparing Your Options
| Mode | Price (USD) | Duration | Comfort |
|---|---|---|---|
| Bus (Executive/Premium) | $7 - $23 | 3h 40min - 7h 30min | Moderate to High |
| Train (Economy) | $6 - $16 | 4h 30min - 6h 04min | Moderate |
| Train (Executive) | $37 | 4h 30min - 6h 04min | High |
Tips for Traveling from Surabaya to Yogyakarta
- Book in Advance: This is one of the busiest transit corridors on Java. Trains, especially the Executive class, often sell out days in advance during weekends or public holidays.
- Prepare for the Cold: Indonesian trains and buses are famous for their powerful air conditioning. Even if it is 30 degrees Celsius outside, you will likely want a light jacket or a sarong to stay warm during the journey.
- Station Locations: In Surabaya, most major trains depart from Surabaya Gubeng or Surabaya Pasarturi. In Yogyakarta, you will likely arrive at Tugu Station (near Malioboro) or Lempuyangan. Check your ticket carefully to ensure you head to the correct station.
- Snacks and Water: While most Executive trains have a canteen carriage and buses may provide a small snack, it is always wise to bring your own bottle of water and some local fruit or snacks from a Surabaya market.
- Arrive Early: Aim to be at the station or bus terminal at least 30 to 45 minutes before departure to handle check-in procedures and find your platform without stress.
Timetable
| Bus Surabaya - Yogyakarta $ 7.23–21.98 3h 40m – 7h 30m | |
|
|
| Train Surabaya - Yogyakarta $ 15.12–35.92 5h 8m – 6h 4m | |
|
| Train Surabaya - Jogja $ 6.21–35.92 4h 30m – 5h 18m | |
|
Frequently Asked Questions
You can book train, bus, flight, taxi, van, and ferry tickets from Surabaya to Yogyakarta directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.
The cheapest way to travel is by train in Economy class, with tickets starting as low as $6. Some budget bus services also offer very competitive rates starting around $7.
The fastest way is typically by bus or premium shuttle, which can complete the trip in approximately 3 hours 40 minutes using the Trans-Java Toll Road.
The journey duration varies by transport mode. Busses take between 3 hours 40 minutes and 7 hours 30 minutes, while trains generally take between 4 hours 30 minutes and 6 hours.
Yes, the train ride is quite beautiful. You will pass through vast rice fields, small rural villages, and catch glimpses of Java's impressive volcanic peaks along the horizon.
Yogyakarta Tugu Station is the most central, located right at the end of the famous Malioboro Street. Lempuyangan Station is also relatively central but is primarily used for economy class services.
Yes, there are several bus departures late in the evening, including a Luxury service at 22:30, which allows you to arrive in Yogyakarta early the next morning.