The cheapest and fastest trains from Surabaya to Yogyakarta
Cheapest price
$21
Average price
$21
Fastest journey
3 h 47 m
Average duration
3 h 48 m
Trains per day
2
Distance
270 km
The best way to find a cheap train ticket from Surabaya to Yogyakarta is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Surabaya to Yogyakarta will cost around $21 if you buy it on the day, but you can find cheap train tickets today for only $21.
Of the 2 trains that leave Surabaya for Yogyakarta every day 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 270 km distance in an average of 3 h 48 m but if you time it right, some trains will get you there in just 3 h 47 m .
The slowest trains will take 3 h 49 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, coach and flight for Surabaya to Yogyakarta
Omio recommends booking the coach as it is the most popular option from Surabaya to Yogyakarta among Omio's users. If you are prioritising price take the coach with prices starting from $12. For those with little time consider booking a train which can get you there in 4h 28m. The ticket price range depends on the travel mode: a coach costs an average of $12, and a flight costs an average of $53.
Distance: 270 km
Compare train with
| Train | Most popular Coach | Flight |
|---|---|---|
$26 Average Price | $14 Average Price Cheapest | $101 Average Price |
4h 58m Average total duration Fastest 4h 28m Onboard + 30m Additional time* | 8h 21m Average total duration 7h 51m Onboard + 30m Additional time* | 8h 17m Average total duration 5h 17m Onboard + 3h 0m Additional time* |
Direct Options | Direct Options | Direct Options |
Live departures
Surabaya to Yogyakarta train times
The table below shows live departures for Surabaya to Yogyakarta trains for today, Sunday, 30 November. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
![]() | 5:00 am Surabaya Gubeng | 5h35 | 10:35 am Yogyakarta | 1 change | |
![]() | 7:00 am Surabaya Gubeng | 4h00 | 11:00 am Yogyakarta | 0 changesdirect | |
![]() | 8:30 am Surabaya Gubeng | 3h27 | 11:57 am Yogyakarta | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Surabaya to Yogyakarta by train, coach or flight
Compare train, coach and flight 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.
01 Dec
02 Dec
03 Dec
04 Dec
05 Dec
06 Dec
07 Dec
08 Dec
09 Dec
10 Dec
11 Dec
12 Dec
13 Dec
14 Dec
Journey information
Overview: Train from Surabaya to Yogyakarta
Trains from Surabaya to Yogyakarta run on average 15 times per day, taking around 4h 28m. Cheap train tickets for this journey start at $21 but you can travel from only $12 by coach.
There are 15 trains per day. The earliest train runs at 00:40, the last at 23:47. The fastest train covers the 270 km distance in 3h 27m.
Distance 270 km |
Average train duration 4h 28m |
Cheapest ticket price $21 |
Trains per day 15 |
Direct trains 15 |
Fastest train 3h 27m |
First train 00:40 |
Last train 23:47 |
Train companies: Kereta API from Surabaya to Yogyakarta trainsKereta API trains will get you between Surabaya and Yogyakarta from $12. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Kereta API
FAQs: Surabaya to Yogyakarta train
Find answers to the most common questions about traveling from Surabaya to Yogyakarta 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 Yogyakarta, this guide helps you travel smarter and with confidence.

When departing from Surabaya, you have various train station options to start your journey from including Surabaya Gubeng and Surabaya Pasarturi. When arriving in Yogyakarta, you can end your trip in train stations like Train Station Yogyakarta and Lempuyangan.
Passengers board the train most frequently from Surabaya Gubeng, which is located around away from the city centre, and they get off the train at Train Station Yogyakarta, located away from the city centre.
More options for your journey from Surabaya to Yogyakarta
Here are some other resources that might have the information you need
