How to Get from Surakarta to Yogyakarta

How to Get from Surakarta to Yogyakarta

Last updated: March 8, 2026

The journey between Surakarta, often affectionately called Solo, and Yogyakarta is a passage between the twin hearts of Javanese culture. While both cities share a royal heritage and a deep love for batik and traditional arts, they each possess a distinct rhythm. Solo is the quieter, more traditional sibling, while Yogyakarta is the bustling hub of students and tourism. Because they are so close, moving between them is one of the easiest and most common trips you can make in Central Java.

Whether you are finishing a tour of the Mangkunegaran Palace or heading to the famous Malioboro Street, the short distance means you can easily travel between these cities in under two hours. The landscape between them is a lush tapestry of rice paddies and volcanic foothills, dominated by the distant silhouette of Mount Merapi. For many travelers, this route is a simple transit, but it offers a quintessential look at life in the Javanese heartland.

Surakarta to Yogyakarta by Train

Taking the train is widely considered the most efficient and comfortable way to travel between Surakarta and Yogyakarta. The rail link is well-established, and the journey is remarkably quick, often beating any road transport due to the dedicated tracks that bypass the frequently congested main highway. You can find tickets and check availability for these services on GoAsia.cc to ensure your seat is secured before you reach the station.

Economy Class

Economy class is the most budget-friendly option, with prices starting as low as $5. Despite the name, modern Indonesian economy carriages are air-conditioned and relatively clean. Tickets are categorized into various sub-classes like Economy C, CA, CB, CC, and CD, which primarily relate to the seat positioning or booking window rather than a difference in physical comfort. The trip typically takes between 40 minutes and 1 hour 30 minutes, depending on the specific service and whether you are arriving at the main Yogyakarta station or the smaller Jogja stops.

Executive Class

For those seeking more space and a higher level of comfort, Executive class (sub-classes A, AA, AB, AC, AD) offers reclining seats, more legroom, and a quieter cabin environment. Prices for Executive class can reach up to $31. This is a great choice if you have heavy luggage or simply want to relax in a cooler environment. The travel time remains consistent with the faster economy services, making it a premium choice for the short hop across Central Java.

Surakarta to Yogyakarta by Bus

While the train is the dominant choice, buses remain a viable alternative, particularly for those who prefer road travel or are coming from specific areas outside the city center. The bus journey offers a different perspective of the local towns and markets that line the route between the two cities.

The premium bus options provide a high level of comfort for a very affordable price. On certain routes, you can find premium seats for approximately $5. These buses are equipped with air conditioning and often feature comfortable seating arrangements. The duration for the bus trip typically ranges from 2 hours to 3 hours 15 minutes, depending on traffic conditions which can be unpredictable in Central Java. If you are traveling from specific points like the Kediri connection, VIP 34 buses are also available for around $10, offering a slightly more exclusive seating configuration for the 1 hour 43 minute journey.

Comparing Your Options

Mode Price (USD) Duration Comfort
Train (Economy) $5 - $31 40m - 1h 30m Standard
Train (Executive) $5 - $31 40m - 1h 30m High
Bus (Premium) $5 2h - 3h 15m Medium
Bus (VIP) $10 1h 43m High

Tips for Traveling from Surakarta to Yogyakarta

  • Book Train Tickets Early: Even though the journey is short, trains between these two cities are very popular with locals commuting for work or weekend trips. Booking a few days in advance is recommended.
  • Choose Your Station: In Surakarta, most major trains depart from Solo Balapan Station. In Yogyakarta, you can arrive at Tugu Station (closer to Malioboro) or Lempuyangan Station. Check which one is closer to your accommodation.
  • Mind the Traffic: If you choose the bus, be aware that the road between Solo and Jogja is one of the busiest in Indonesia. Peak hours and holidays can significantly increase travel time.
  • Keep Your ID Ready: You will need your passport or a valid ID to check in at the train station and enter the boarding area.
  • Enjoy the Scenery: If you take the train during daylight hours, try to get a window seat to enjoy the views of the lush Javanese countryside and local villages.

Timetable

Bus Surakarta - Kediri $ 9.40 1h 43m
  • โ†’  VIP 34 20:45
Bus Surabaya - Yogyakarta $ 4.41 2h – 3h 15m
  • โ†’  Premium seat 00:40, 08:40, 09:40, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00, 19:00, 20:00, 21:00, 22:00, 23:30
Train Surakarta - Yogyakarta $ 5.03–29.71 1h 11m – 1h 30m
  • โ†’  Economy CB 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Executive AA 10:25, 20:50
  • โ†’  Economy CA 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Executive AC 10:25, 20:50
  • โ†’  Economy C 09:05, 10:25, 16:42, 20:50, 22:45, 23:43
  • โ†’  Economy CC 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Economy CD 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Executive A 10:25, 20:50
  • โ†’  Executive AB 10:25, 20:50
  • โ†’  Executive AD 10:25, 20:50
Train Surakarta - Jogja $ 5.03–29.71 40m – 48m
  • โ†’  Economy CB 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Executive AA 10:25, 20:50
  • โ†’  Economy CA 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Executive AC 10:25, 20:50
  • โ†’  Economy C 09:05, 10:25, 16:42, 18:45, 20:50, 22:45, 23:43
  • โ†’  Economy CC 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Economy CD 09:05, 10:25, 16:42, 20:50, 23:43
  • โ†’  Executive A 10:25, 20:50
  • โ†’  Executive AB 10:25, 20:50
  • โ†’  Executive AD 10:25, 20:50

Frequently Asked Questions

How can I book tickets from Surakarta to Yogyakarta?

You can book train, bus, flight, taxi, van, and ferry tickets from Surakarta to Yogyakarta directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.

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

The cheapest way to travel is by bus or economy train, with prices starting at approximately $5. Both options offer a budget-friendly way to cover the short distance between these two cultural hubs.

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

The fastest way to travel is by train, which can take as little as 40 to 48 minutes. This is significantly faster than road travel, as trains avoid the frequent traffic congestion on the main highway.

How long does it take to get from Surakarta to Yogyakarta?

The journey time varies by transport mode. Trains typically take between 40 minutes and 1 hour 30 minutes, while buses generally take between 2 hours and 3 hours 15 minutes.

Which train station should I use in Surakarta?

Most travelers use Solo Balapan Station, which is the main railway hub in Surakarta. It is well-connected to the city center and handles the majority of the intercity services to Yogyakarta.

Is it necessary to book tickets in advance?

Yes, it is highly recommended to book your tickets in advance, especially for trains. This route is very popular for both tourists and locals, and seats can fill up quickly during weekends and public holidays.