The cheapest and fastest trains from Yogyakarta to Surakarta
Cheapest price
$1
Average price
$16
Fastest journey
40 m
Average duration
58 m
Trains per day
5
Distance
58 km
The best way to find a cheap train ticket from Yogyakarta to Surakarta is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Yogyakarta to Surakarta will cost around $16 if you buy it on the day, but the cheapest tickets can be found for only $1.
Of the 5 trains that leave Yogyakarta for Surakarta on Mon, Mar 16, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Mar 16 the direct trains cover the 58 km distance in an average of 58 m but if you time it right, some trains will get you there in just 40 m .
On Mon, Mar 16 the slowest trains will take 1 h 15 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.










Travel Information
Compare train and bus for Yogyakarta to Surakarta
Omio recommends booking the train as it is the most popular option from Yogyakarta to Surakarta among Omio's users. If you are prioritising price take the bus with prices starting from $3. For those with little time consider booking a train which can get you there in 59m. The ticket price range depends on the travel mode: a bus costs an average of $3, and a train costs an average of $1.
Distance: 36 miles (58 km)
Compare train with
Most popular Train | Bus |
|---|---|
$13 Average price | $3 Average price Cheapest |
1h 29m Average total duration Fastest 59m Onboard + 30m Additional time* | 2h 19m Average total duration 1h 49m Onboard + 30m Additional time* |
Direct Options | Direct Options |
Compare prices and tickets Yogyakarta to Surakarta by train or bus
Compare train and bus prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Mar 16
Mar 17
Mar 18
Mar 19
Mar 20
Mar 21
Mar 22
Journey information
Overview: Train from Yogyakarta to Surakarta
Trains from Yogyakarta to Surakarta run on average 29 times per day, taking around 59m. Cheap train tickets for this journey start at $1 (€1) if you book in advance.
There are 29 trains per day. The earliest train runs at 00:17, the last at 23:33. The fastest train covers the 36 miles (58 km) distance in 40m.
Distance 36 miles (58 km) |
Average train duration 59m |
Cheapest ticket price $1 (€1) |
Trains per day 29 |
Direct trains 29 |
Fastest train 40m |
First train 00:17 |
Last train 23:33 |
Train companies: Prambanan Ekspres, Kereta API from Yogyakarta to Surakarta trainsPrambanan Ekspres, Kereta API trains will get you between Yogyakarta and Surakarta from $1 (€1). With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Prambanan Ekspres
Kereta API
FAQs: Trains from Yogyakarta to Surakarta
Find answers to the most common questions about traveling from Yogyakarta to Surakarta by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Surakarta, this guide helps you travel smarter and with confidence.

More options for your journey from Yogyakarta to Surakarta
Here are some other resources that might have the information you need
