How to Get from Surakarta to Yogyakarta
Discover the best way to travel from Surakarta to Yogyakarta by train: about 40 minutes to 1 hour 30 minutes, with tickets from about $5.
Last updated: November 5, 2026

Photo: CEphoto, Uwe Aranas / Wikimedia Commons, CC BY-SA 3.0
Contents
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 travel between these cities in about an hour by train. The landscape between them is a lush tapestry of rice paddies and volcanic foothills, dominated by the distant silhouette of Mount Merapi.
Surakarta to Yogyakarta by Train
The train is the most efficient and comfortable way to travel between Surakarta and Yogyakarta. Trains take about 40 minutes to 1 hour 30 minutes, depending on the service and the Yogyakarta station you arrive at. On booking platforms, train tickets cost about $5 to $29 (November 2026), depending on class.[1] You can find tickets and check availability for these services on GoAsia.cc.
Economy Class
Economy class (C, CA, CB, CC and CD) is the budget-friendly option, with tickets from about $5.[1] Modern Indonesian economy carriages are air-conditioned and relatively clean.
Executive Class
Executive class (A, AA, AB, AC and AD) offers reclining seats, more legroom and a quieter cabin, with tickets up to about $29.[1] It is a good choice if you have heavy luggage or simply want to relax on the short hop across Central Java.
Surakarta to Yogyakarta by Bus and Commuter Line
Solo Balapan station connects the KRL Commuter Line to Yogyakarta, and a skybridge of almost 500 m links the station with Tirtonadi bus terminal, which serves long-distance and intercity buses.[2] Ask at the terminal about current bus services and fares.
Comparing Your Options
| Mode | Price (USD) | Duration | Comfort |
|---|---|---|---|
| Train (Economy) | From about $5[1] | About 40m - 1h 30m | Standard |
| Train (Executive) | Up to about $29[1] | About 40m - 1h 30m | High |
Tips for Traveling from Surakarta to Yogyakarta
- Book Train Tickets Early: Even though the journey is short, trains between these two cities are popular with locals commuting for work or weekend trips. Booking a few days in advance is recommended.
- Choose Your Station: In Yogyakarta you can arrive at Tugu Station (closer to Malioboro) or Lempuyangan Station. Check which one is closer to your accommodation.
- Keep Your ID Ready: Bring your passport or a valid ID, as you will need it 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 Javanese countryside and local villages.
Timetable
| Bus Surakarta - Kediri $ 9.11 1h 43m | |
|
| Bus Surabaya - Yogyakarta $ 4.28 2h – 3h 15m | |
|
| Train Surakarta - Yogyakarta $ 4.88–28.79 1h 11m – 1h 30m | |
|
| Train Surakarta - Jogja $ 4.88–28.79 40m – 48m | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Surakarta to Yogyakarta, including current prices and schedules.
An economy train, with tickets from about $5 on booking platforms (November 2026).
The train, which takes from about 40 minutes.
Trains take about 40 minutes to 1 hour 30 minutes, depending on the service and the station you arrive at.
Most travelers use Solo Balapan Station, the main railway hub in Surakarta. It is well connected to the city center.
It is recommended to book in advance, especially for trains. The route is popular with tourists and locals, and seats can fill up quickly at weekends and on public holidays.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] 12Go: 12Go timetable: Surakarta to Yogyakarta. Retrieved November 5, 2026.
- [2] Ministry of Transportation, Indonesia: Transportasi Terintegrasi untuk Semua: Merajut Harmoni dari Solo hingga Seluruh Indonesia. Retrieved October 26, 2026.
Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.