Surabaya to Yogyakarta train with Kereta API

Sat, Apr 04
+ Add return
Kereta API
Regionale
Deutsche Bahn
iryo
Frecciarossa
2,000+ travel companies
Kereta API
Regionale
Deutsche Bahn
iryo
Frecciarossa
2,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 Apr 05

Cheapest price

$20

Average price

$26

Fastest journey

3 h 27 m

Average duration

4 h 21 m

Trains per day

3

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 $26 if you buy it on the day, but the cheapest tickets can be found for only $20.

Fast trains

Of the 3 trains that leave Surabaya for Yogyakarta on Sun, Apr 05, 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Sun, Apr 05 the direct trains cover the 270 km distance in an average of 4 h 21 m but if you time it right, some trains will get you there in just 3 h 27 m .

On Sun, Apr 05 the slowest trains will take 5 h 35 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.

  • Kereta API
    7:00 AM4h00
    Surabaya Gubeng
    11:00 AMYogyakarta
    $201One-way
    0 transfers
  • Kereta API
    8:30 AM3h27
    Surabaya Gubeng
    11:57 AMYogyakarta
    $201One-way
    0 transfers
  • Kereta API
    5:00 AM5h35
    Surabaya Gubeng
    10:35 AMYogyakarta
    $391One-way
    1 transfer

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 $9. For those with little time consider booking a flight which can get you there in 2h 40m. The ticket price range depends on the travel mode: a bus costs an average of $9, and a flight costs an average of $89.

Distance: 167 miles (270 km)

Compare train with

Train
Most popular
Bus
Flight

$24

Average price

$14

Average price

Cheapest

$118

Average price

4h 58m

Average total duration

4h 28m

Onboard

+

30m

Additional time*

7h 24m

Average total duration

6h 54m

Onboard

+

30m

Additional time*

5h 40m

Average total duration

Fastest

2h 40m

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 tomorrow, Saturday, April 4. You can also manually refresh the results below to see updated train journeys.

Last updated at
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

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, 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.

Sun
Apr 05
Mon
Apr 06
Tue
Apr 07
Wed
Apr 08
Thu
Apr 09
Fri
Apr 10
Sat
Apr 11
Sun
Apr 12
Mon
Apr 13
Tue
Apr 14
Wed
Apr 15
Thu
Apr 16
Fri
Apr 17
Sat
Apr 18

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 $20 (€16) but you can travel from only $9 (€7) 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 $9 (€7)
Distance
167 miles (270 km)
Average train duration
4h 28m
Cheapest ticket price
$20 (€16)
Trains per day
15
Direct trains
15
Fastest train
3h 27m
First train
12:40 AM
Last train
11:47 PM
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 $9 (€7)

Train companies: Kereta API from Surabaya to Yogyakarta trainsKereta API trains will get you between Surabaya and Yogyakarta from $9 (€7). 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
$20 (€16)
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
Train ticket prices from Surabaya to Yogyakarta can vary. The cheapest ticket starts at $20 (€16), while the average price is around $24 (€20).
The train from Surabaya to Yogyakarta takes 3h 27m and runs 15 per day.
The distance by train from Surabaya to Yogyakarta is 167 miles (270 km).
The first train from Surabaya to Yogyakarta leaves at 12:40 AM.
The last train from Surabaya to Yogyakarta leaves at 11:47 PM.
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.
Unfortunately, there is no night train available from Surabaya to Yogyakarta.
The train station in Surabaya that goes to Yogyakarta is Surabaya Gubeng, which connects to Train Station Yogyakarta.
The cheapest way to get from Surabaya to Yogyakarta is by bus, with a cost of around $9 (€7).
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.
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.
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.
Yes, you can take the train from Surabaya to Yogyakarta.

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