Travel Information
Compare train and bus for Yogyakarta to Surakarta
Omio recommends booking the bus 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
| Train | Most popular Bus | Driving |
|---|---|---|
$13 Average price | $3 Average price Cheapest | $14 Average price (fuel + tolls) |
1h 29m Average total duration Fastest 59m Onboard + 30m Additional time* | 2h 55m Average total duration 2h 25m Onboard + 30m Additional time* | 1h 46m Average total duration (door-to-door) |
Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Yogyakarta to Surakarta:
A bus is $10 (€8) less than a train for this route with tickets for a train from Yogyakarta to Surakarta costing on average $13 (€11).
Other travel options to Surakarta take longer:
Bus takes on average 2h 25m.
The journey is about 47m faster (59m by train vs 1h 46m by car) and roughly $0.10 (€0.08) cheaper once you factor in fuel and tolls ($13 (€11) vs $14 (€11)). You'll also arrive in the city centre rather than hunting for parking, and you can work, read, or watch the landscape go by instead of concentrating on the road.
Direct services run with Prambanan Ekspres, Kereta API.
Driving is still worth considering if you want to stop along the way or need a car once you arrive.
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.
Jun 14
Jun 15
Jun 16
Jun 17
Jun 18
Jun 19
Jun 20
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 12:17 AM |
Last train 11:33 PM |
Cheapest Month Jun |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
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
