Surabaya to Yogyakarta train with Kereta API

Sat, Jan 10
+ Add return
Kereta API
Deutsche Bahn
Regionale
iryo
Italo
1,000+ travel companies
Kereta API
Deutsche Bahn
Regionale
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 Jan 12

Cheapest price

$20

Average price

$20

Fastest journey

3 h 47 m

Average duration

3 h 48 m

Trains per day

2

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

Fast trains

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

On Mon, Jan 12 the 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 .

On Mon, Jan 12 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.

Kereta API
07:20PM3h47
Surabaya Gubeng
11:07PMYogyakarta
$201One-way
0 transfers
Kereta API
08:00PM3h49
Surabaya Gubeng
11:49PMYogyakarta
$201One-way
0 transfers

Travel Information

Compare train, flight, and bus 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 train which can get you there in 4h 28m. The ticket price range depends on the travel mode: a bus costs an average of €9, and a flight costs an average of €71.

Distance: 167 miles (270 km)

Compare train with

Train
Most popular
Bus
Flight

€20

Average price

€11

Average price

Cheapest

€89

Average price

4h 58m

Average total duration

Fastest

4h 28m

Onboard

+

30m

Additional time*

7h 44m

Average total duration

7h 14m

Onboard

+

30m

Additional time*

8h 1m

Average total duration

5h 1m

Onboard

+

3h 0m

Additional time*

Direct Options

Direct Options

Direct Options

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

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

Mon
Jan 12
Tue
Jan 13
Wed
Jan 14
Thu
Jan 15
Fri
Jan 16
Sat
Jan 17
Sun
Jan 18

Why should you book Surabaya to Yogyakarta trains with Omio?

Kereta API operates all train services from Surabaya to Yogyakarta. Omio is the only official third party seller for Kereta API tickets.

Why book with Omio vs Kereta API?

  • Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
  • Compare all your options: Omio allows you to compare Kereta API with all available travel options, which are train, flight and bus to ensure you get the best deal for traveling from Surabaya to Yogyakarta.

Why book with Omio over Trainline and Rail Europe?

Multiple modes of transport
  • Official reseller: Kereta API tickets can only be bought on Omio or Kereta API's website as Omio is the only official third party seller for Kereta API tickets. Trainline, RailEurope, and Rail.Ninja do not sell Kereta API tickets as they are not official sellers.
  • Multiple modes of transport: Omio allows you to compare travel options including train, flight and bus to find the ideal travel option from Surabaya to Yogyakarta.

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 $11 (€9) 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 $11 (€9)
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
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 $11 (€9)

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