Get 50% off your next trip in Southeast Asia
Terms and conditions

Surabaya to Yogyakarta train with Kereta API

Thu, Nov 27
+ Add return
Kereta API
Regionale
Deutsche Bahn
iryo
Italo
1,000+ travel companies
Kereta API
Regionale
Deutsche Bahn
iryo
Italo
1,000+ travel companies
QR-Code
Scan to get our free app
Use our app to get live travel updates and book mobile tickets for trains, buses, flights, and ferries.
App Store
rate4.9
42K ratings
Google Play
rate4.6
136K reviews

The cheapest and fastest trains from Surabaya to Yogyakarta

Showing times and prices for Nov 28

Cheapest price

$21

Average price

$21

Fastest journey

3 h 27 m

Average duration

3 h 49 m

Trains per day

5

Distance

270 km

Cheap tickets

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 traveling at rush hour.

The average ticket from Surabaya to Yogyakarta will cost around $21 if you buy it on the day, but the cheapest tickets can be found for only $21.

Fast trains

Of the 5 trains that leave Surabaya for Yogyakarta on Fri, Nov 28, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Fri, Nov 28 the direct trains cover the 270 km distance in an average of 3 h 49 m but if you time it right, some trains will get you there in just 3 h 27 m .

On Fri, Nov 28 the slowest trains will take 4 h 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.

Kereta API
07:00AM4h00
Surabaya Gubeng
11:00AMYogyakarta
$211One-way
0 transfers
Kereta API
08:30AM3h27
Surabaya Gubeng
11:57AMYogyakarta
$211One-way
0 transfers
Kereta API
11:15AM4h00
Surabaya Gubeng
03:15PMYogyakarta
$211One-way
0 transfers
Kereta API
04:28PM5h56
Surabaya Gubeng
10:24PMYogyakarta Tugu
$211One-way
0 transfers
Kereta API
04:30PM4h05
Surabaya Gubeng
08:35PMYogyakarta
$211One-way
0 transfers

Travel Information

Compare train, bus, and flight for Surabaya to Yogyakarta

Omio recommends booking the bus as it is the most popular option from Surabaya to Yogyakarta among Omio's users. If you are prioritising price take the bus with prices starting from €10. 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 bus costs an average of €10, and a flight costs an average of €43.

Distance: 167 miles (270 km)

Compare train with

Train
Most popular
Bus
Flight

€21

Average price

€11

Average price

Cheapest

€81

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, Thursday, November 27. You can also manually refresh the results below to see updated train journeys.

Last updated at 1:17 AM
ProviderDepartsDurationArrivesTransfers
Tickets
Kereta API5:00 AM Surabaya Gubeng
5h35
10:35 AM Yogyakarta1 transfer
Kereta API7:00 AM Surabaya Gubeng
4h00
11:00 AM Yogyakarta0 transfersDirect
Kereta API8:30 AM Surabaya Gubeng
3h27
11:57 AM Yogyakarta0 transfersDirect
Kereta API11:15 AM Surabaya Gubeng
4h00
3:15 PM Yogyakarta0 transfersDirect
Kereta API2:18 PM Surabaya Gubeng
5h55
8:13 PM Yogyakarta Tugu1 transfer

Find all the dates and times for this journey

Compare prices and tickets Surabaya to Yogyakarta by train, bus, or flight

Compare train, bus, 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.

Fri
Nov 28
Sat
Nov 29
Sun
Nov 30
Mon
Dec 01
Tue
Dec 02
Wed
Dec 03
Thu
Dec 04

Journey information

Overview: Train from Surabaya to Yogyakarta

IndonesiaIndonesia
IndonesiaIndonesia
Icon of train

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 (€17) but you can travel from only $12 (€10) by bus.

There are 15 trains per day. The earliest train runs at 00:40, the last at 23:47. The fastest train covers the 167 miles (270 km) distance in 3h 27m.

Fares are the lowest economy prices found on Omio. Early booking often means lower prices. Prices change daily and are subject to availability. Discount cards, coach trips, and booking fees are not included.
Price information
Cheapest alternative travel mode
Bus from $12 (€10)
Distance
167 miles (270 km)
Average train duration
4h 28m
Cheapest ticket price
$21 (€17)
Trains per day
15
Direct trains
15
Fastest train
3h 27m
First train
00:40
Last train
23:47
Fares are the lowest economy prices found on Omio. Early booking often means lower prices. Prices change daily and are subject to availability. Discount cards, coach trips, and booking fees are not included.
Price information
Cheapest alternative travel mode
Bus from $12 (€10)

Train companies: Kereta API from Surabaya to Yogyakarta trainsKereta API trains will get you between Surabaya and Yogyakarta from $12 (€10). With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.

Kereta API

Luggage & cancellation policy
Average Duration
3h 27m
Cheapest Price
$21 (€17)
Kereta API frequency
7 a day

FAQs: Trains from Surabaya to Yogyakarta

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.

FAQs
The train from Surabaya to Yogyakarta takes 3h 27m and runs 15 per day.
A stay of 3 to 4 days in Yogyakarta is ideal to explore its main attractions, such as Borobudur and Prambanan temples, the Sultan's Palace, and the cultural streets of Malioboro, while allowing some time for local cuisine and shopping.
A day trip from Surabaya to Yogyakarta is not feasible as the journey takes 3h 27m. The distance is 167 miles (270 km) and there are 15 trains per day.
The train journey from Surabaya to Yogyakarta offers scenic views including lush rice paddies, rolling hills, and glimpses of traditional Javanese villages, providing passengers with an authentic and picturesque travel experience.
The last train from Surabaya to Yogyakarta leaves at 11:47 PM.
Train ticket prices from Surabaya to Yogyakarta can vary. The cheapest ticket starts at $21 (€17), while the average price is around $26 (€21).
Unfortunately, there is no night train available from Surabaya to Yogyakarta.
The distance by train from Surabaya to Yogyakarta is 167 miles (270 km).
The cheapest way to get from Surabaya to Yogyakarta is by bus, with a cost of around $12 (€10).
The first train from Surabaya to Yogyakarta leaves at 12:40 AM.
The train station in Surabaya that goes to Yogyakarta is Surabaya Gubeng, which connects to Stasiun Yogyakarta.
Yes, you can take the train from Surabaya to Yogyakarta.
There is no high speed train available from Surabaya to Yogyakarta.
Yes, there is a direct train from Surabaya to Yogyakarta. This service operates 15 times per day, provided by Kereta API.

More options for your journey from Surabaya to Yogyakarta

Here are some other resources that might have the information you need

HomeTrainsSurabaya to Yogyakarta train

The Omio App Makes Travel Planning Easy

We’ll get you where you want to go. From live train updates to mobile tickets, our innovative app is the ideal way to plan and keep track of your travel.

ios-badge
android-badge
Hand With Phone