Surabaya to Jakarta train with Kereta API

Tue, 30 Jun
+ Add return
Kereta API
Deutsche Bahn
SNCF | TGV INOUI
Italo
Trenitalia
2,000+ travel companies
Kereta API
Deutsche Bahn
SNCF | TGV INOUI
Italo
Trenitalia
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 Jakarta

Showing times and prices for 30 Jun

Cheapest price

20S$

Average price

24S$

Fastest journey

7 h 40 m

Average duration

8 h 44 m

Trains per day

8

Distance

662 km

Cheap tickets

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

The average ticket from Surabaya to Jakarta will cost around 24S$ if you buy it on the day, but you can find cheap train tickets today for only 20S$.

Fast trains

Of the 8 trains that leave Surabaya for Jakarta every day 6 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

These direct trains cover the 662 km distance in an average of 8 h 44 m but if you time it right, some trains will get you there in just 7 h 40 m .

The slowest trains will take 9 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
    7:50 AM8h27
    Surabaya Pasar Turi
    4:17 PMJatinegara
    20 S$1One-way
    0 changes
  • Kereta API
    9:10 AM7h40
    Surabaya Pasar Turi
    4:50 PMJatinegara
    20 S$1One-way
    0 changes
  • Kereta API
    12:50 PM12h00
    Surabaya Pasar Turi
    12:50 AMJatinegara
    20 S$1One-way
    0 changes
  • Kereta API
    4:05 PM10h36
    Surabaya Pasar Turi
    2:41 AMJatinegara
    20 S$1One-way
    0 changes
  • Kereta API
    8:15 PM8h32
    Surabaya Pasar Turi
    4:47 AMJatinegara
    20 S$1One-way
    0 changes

Travel Information

Compare coach, train and flight for Surabaya to Jakarta

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

Distance: 662 km

Compare train with

Train
Most popular
Coach
Flight

24S$

Average Price

20S$

Average Price

Cheapest

65S$

Average Price

10h 6m

Average total duration

9h 36m

Onboard

+

30m

Additional time*

12h 32m

Average total duration

12h 2m

Onboard

+

30m

Additional time*

4h 31m

Average total duration

Fastest

1h 31m

Onboard

+

3h 0m

Additional time*

Direct Options

Direct Options

Direct Options

Live departures

Surabaya to Jakarta train times

The table below shows live departures for Surabaya to Jakarta trains for today, Monday, 29 June. You can also manually refresh the results below to see updated train journeys.

Last updated at
ProviderDepartsDurationArrivesChanges
Tickets
Kereta API8:15 PM Surabaya Pasar Turi
8h32
4:47 AM Jatinegara0 changesdirect
Kereta API9:15 PM Surabaya Pasar Turi
9h10
6:25 AM Jatinegara1 change
Kereta API11:00 PM Surabaya Pasar Turi
9h49
8:49 AM Jatinegara Station0 changesdirect
Tuesday, 30 June
Kereta API7:50 AM Surabaya Pasar Turi
8h27
4:17 PM Jatinegara0 changesdirect
Kereta API9:10 AM Surabaya Pasar Turi
7h40
4:50 PM Jatinegara0 changesdirect
Kereta API12:50 PM Surabaya Pasar Turi
12h00
12:50 AM Jatinegara0 changesdirect

This is the last train of the day.

Find all the dates and times for this journey

Compare prices and tickets Surabaya to Jakarta by coach, train or flight

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

Tue
30 Jun
Wed
01 Jul
Thu
02 Jul
Fri
03 Jul
Sat
04 Jul
Sun
05 Jul
Mon
06 Jul

Journey information

Overview: Train from Surabaya to Jakarta

IndonesiaIndonesia
IndonesiaIndonesia
Icon of train

Trains from Surabaya to Jakarta run on average 10 times per day, taking around 9h 36m. Cheap train tickets for this journey start at 20S$ but you can travel from only 13S$ by coach.

There are 10 trains per day. The earliest train runs at 06:20, the last at 23:35. The fastest train covers the 662 km distance in 7h 40m.

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
Coach from 13S$
Distance
662 km
Average train duration
9h 36m
Cheapest ticket price
20S$
Trains per day
10
Direct trains
10
Fastest train
7h 40m
First train
6:20 AM
Last train
11:35 PM
Cheapest Month
Jun
Cheapest Day
Wed
High Season
Jul - Sept
Low Season
Jan - Mar
Busiest Day
Wed
Least Busy Day
Mon
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
Coach from 13S$

Train companies: Kereta API from Surabaya to Jakarta trainsKereta API trains will get you between Surabaya and Jakarta from 13S$. 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
7h 40m
Cheapest Price
20S$
Kereta API frequency
7 a day

FAQs: Surabaya to Jakarta train

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

FAQs
Cheap train tickets from Surabaya to Jakarta can start from as little as 20S$ when you book in advance. The average train ticket price for Surabaya to Jakarta is 24S$; however, prices vary depending on the time of day and class and they tend to be more expensive on the day.
The average journey time by train from Surabaya to Jakarta is 7h 40m to travel the 662 km long route. Journey times can vary on weekends and holidays, so use our Journey Planner to search for a specific date.
The earliest train from Surabaya to Jakarta leaves at 6:20 am. Plan your trip with the Journey Planner from Omio.
The latest train from Surabaya to Jakarta leaves at 11:35 pm.
Yes, there are 10 direct trains a day from Surabaya to Jakarta with Kereta API. Schedules can vary on holidays or weekends with fewer direct trains.
When taking a train from Surabaya to Jakarta, you can count on Kereta API for the best way to get you to Jakarta. You can also check all possible train companies who offer a service between Surabaya and Jakarta and compare the amenities they offer before buying a train ticket.
A trip to Jakarta from Surabaya is worth doing but not as a day trip with a journey time of 7h 40m each way. Check with Omio app the best way to travel.
The cheapest month for a train from Surabaya to Jakarta is June.
It's helpful to compare your options as there are 3 ways to travel between Surabaya and Jakarta including taking a coach, train and flight.

More options for your journey from Surabaya to Jakarta

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

HomeTrainsTrains in IndonesiaSurabaya to Jakarta 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