Yogyakarta to Surabaya train with Kereta API

Thu, May 28
+ 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 Yogyakarta to Surabaya

Showing times and prices for May 28

Cheapest price

$20

Average price

$20

Fastest journey

3 h 36 m

Average duration

3 h 48 m

Trains per day

7

Distance

270 km

Cheap tickets

The best way to find a cheap train ticket from Yogyakarta to Surabaya is to book your journey as far in advance as possible and to avoid traveling at rush hour.

The average ticket from Yogyakarta to Surabaya 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 7 trains that leave Yogyakarta for Surabaya on Thu, May 28, 7 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Thu, May 28 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 36 m .

On Thu, May 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
    12:24 AM3h36
    Yogyakarta
    4:00 AMSurabaya Gubeng
    $201One-way
    0 transfers
  • Kereta API
    6:45 AM4h00
    Yogyakarta
    10:45 AMSurabaya Gubeng
    $201One-way
    0 transfers
  • Kereta API
    11:30 AM4h00
    Yogyakarta
    3:30 PMSurabaya Gubeng
    $201One-way
    0 transfers
  • Kereta API
    1:38 PM3h37
    Yogyakarta
    5:15 PMSurabaya Gubeng
    $201One-way
    0 transfers
  • Kereta API
    5:00 PM4h00
    Yogyakarta
    9:00 PMSurabaya Gubeng
    $201One-way
    0 transfers

Travel Information

Compare train, bus, and flight for Yogyakarta to Surabaya

Omio recommends booking the bus as it is the most popular option from Yogyakarta to Surabaya among Omio's users. If you are prioritising price take the bus with prices starting from $7. For those with little time consider booking a train which can get you there in 4h 9m. The ticket price range depends on the travel mode: a bus costs an average of $7, and a flight costs an average of $101.

Distance: 167 miles (270 km)

Compare train with

Train
Most popular
Bus
Flight
Driving

$20

Average price

$12

Average price

Cheapest

$132

Average price

$60

Average price

(fuel + tolls)

4h 39m

Average total duration

Fastest

4h 9m

Onboard

+

30m

Additional time*

6h 39m

Average total duration

6h 9m

Onboard

+

30m

Additional time*

10h 6m

Average total duration

7h 6m

Onboard

+

3h 0m

Additional time*

4h 36m

Average total duration

(door-to-door)

Direct Options

Direct Options

Direct Options

Direct Options

The cheapest way to travel from Yogyakarta to Surabaya is a bus with an average price of $12 (€10).

This is compared to other travel options from Yogyakarta to Surabaya:

A bus is $8 (€6) less than a train for this route with tickets for a train from Yogyakarta to Surabaya costing on average $20 (€16).

A bus is $120 (€97) less than a flight for this route with tickets for a flight from Yogyakarta to Surabaya costing on average $132 (€106).

The fastest way to travel from Yogyakarta to Surabaya is by train with an average journey time of 4h 9m.

Other travel options to Surabaya take longer:

Bus takes on average 6h 9m.

Flight takes on average 7h 6m.

It's helpful to compare your options as there are 3 ways to travel between Yogyakarta and Surabaya including taking a train, bus, and flight.
We recommend using the bus as it is the most popular way to get from Yogyakarta to Surabaya among Omio's users.
Take the train. On this route, it beats driving on both time and money.

The journey is about 27m faster (4h 9m by train vs 4h 36m by car) and roughly $40 (€32) cheaper once you factor in fuel and tolls ($20 (€16) vs $60 (€48)). 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 Kereta API.

Driving is still worth considering if you want to stop along the way or need a car once you arrive.

Live departures

Yogyakarta to Surabaya train times

The table below shows live departures for Yogyakarta to Surabaya trains for today, Wednesday, May 27. You can also manually refresh the results below to see updated train journeys.

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
Kereta API6:45 AM Yogyakarta
4h00
10:45 AM Surabaya Gubeng0 transfersDirect
Kereta API11:30 AM Yogyakarta
4h00
3:30 PM Surabaya Gubeng0 transfersDirect
Kereta API1:38 PM Yogyakarta
3h37
5:15 PM Surabaya Gubeng0 transfersDirect
Kereta API5:00 PM Yogyakarta
4h00
9:00 PM Surabaya Gubeng0 transfersDirect
Kereta API6:40 PM Yogyakarta Tugu
5h53
12:33 AM Surabaya Gubeng0 transfersDirect
Kereta API11:33 PM Yogyakarta
3h47
3:20 AM Surabaya Gubeng0 transfersDirect
Thursday, May 28
Kereta API12:24 AM Yogyakarta
3h36
4:00 AM Surabaya Gubeng0 transfersDirect

This is the last train of the day.

Find all the dates and times for this journey

Compare prices and tickets Yogyakarta to Surabaya 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.

Thu
May 28
Fri
May 29
Sat
May 30
Sun
May 31
Mon
Jun 01
Tue
Jun 02
Wed
Jun 03
Thu
Jun 04
Fri
Jun 05
Sat
Jun 06
Sun
Jun 07
Mon
Jun 08
Tue
Jun 09
Wed
Jun 10

Journey information

Overview: Train from Yogyakarta to Surabaya

IndonesiaIndonesia
IndonesiaIndonesia
Icon of train

Trains from Yogyakarta to Surabaya run on average 13 times per day, taking around 4h 9m. Cheap train tickets for this journey start at $20 (€16) but you can travel from only $7 (€5) by bus.

There are 13 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 36m.

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 $7 (€5)
Distance
167 miles (270 km)
Average train duration
4h 9m
Cheapest ticket price
$20 (€16)
Trains per day
13
Direct trains
13
Fastest train
3h 36m
First train
12:40 AM
Last train
11:47 PM
Cheapest Month
Jun
Cheapest Day
Mon
High Season
Jul - Sep
Low Season
Apr - Jun
Busiest Day
Sun
Least Busy Day
Sat
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 $7 (€5)

Train companies: Kereta API from Yogyakarta to Surabaya trainsKereta API trains will get you between Yogyakarta and Surabaya from $7 (€5). 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 36m
Cheapest Price
$20 (€16)
Kereta API frequency
5 a day

FAQs: Trains from Yogyakarta to Surabaya

Find answers to the most common questions about traveling from Yogyakarta to Surabaya 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 Surabaya, this guide helps you travel smarter and with confidence.

FAQs
Train ticket prices from Yogyakarta to Surabaya can vary. The cheapest ticket starts at $20 (€16), while the average price is around $20 (€16).
The train from Yogyakarta to Surabaya takes 3h 36m and runs 13 per day.
The first train from Yogyakarta to Surabaya leaves at 12:40 AM.
The distance by train from Yogyakarta to Surabaya is 167 miles (270 km).
The last train from Yogyakarta to Surabaya leaves at 11:47 PM.
There is no high speed train available from Yogyakarta to Surabaya.
Yes, there is a direct train from Yogyakarta to Surabaya. This service operates 13 times per day, provided by Kereta API.
Unfortunately, there is no night train available from Yogyakarta to Surabaya.
The train station in Yogyakarta that goes to Surabaya is Train Station Yogyakarta, which connects to Surabaya Gubeng.
The cheapest way to get from Yogyakarta to Surabaya is by bus, with a cost of around $7 (€5).
Yes, the train journey from Yogyakarta to Surabaya is considered scenic, offering views of lush rice fields, mountainous landscapes, and traditional Javanese villages along the way.
A day trip from Yogyakarta to Surabaya is not feasible as the journey takes 3h 36m. However, there are 13 trains available per day for this 167 miles (270 km) trip.
Two to three days are ideal to explore Surabaya's main attractions, including the House of Sampoerna, Surabaya Zoo, and Tugu Pahlawan.
Yes, you can take the train from Yogyakarta to Surabaya.
Since neither Yogyakarta nor Surabaya are in the Schengen Area, passport requirements depend on the specific immigration rules of Indonesia and Indonesia. Entry and visa requirements can be subject to change. For the latest information, check with your destination's embassy or consulate.
We recommend using the bus as it is the most popular way to get from Yogyakarta to Surabaya among Omio's users.
Items not allowed on trains typically include hazardous materials such as explosives, flammable liquids, corrosive substances, and illegal drugs. Additionally, large or bulky items that may obstruct aisles or emergency exits, as well as pets without proper carriers, may be restricted. Specific prohibited items can vary by train operator and region, so please check the rules for your particular journey.
The currency used in Indonesia is the Indonesian Rupiah (IDR). For travelers, it is generally better to carry cash, especially in smaller towns and markets where card acceptance may be limited, though cards are widely accepted in major cities and larger establishments.
In Surabaya, travelers should be cautious of petty theft such as pickpocketing, especially in crowded markets and public transport. Common scams include overcharging by taxi drivers and unofficial tour guides. It's advisable to use reputable transportation services and agree on fares beforehand to avoid being overcharged. Always keep an eye on personal belongings and avoid displaying valuables openly.
Pack lightweight, versatile clothing suitable for the destination's climate, and use secure, lockable luggage to protect belongings. Keep essential items like travel documents, medication, and valuables in a carry-on bag for easy access. Use packing organizers or cubes to maximize space and maintain order. Lastly, include a small first aid kit and personal hygiene items for added comfort during travel.

More options for your journey from Yogyakarta to Surabaya

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

HomeTrainsYogyakarta to Surabaya 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