Jakarta to Surabaya train with Kereta API

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

Showing times and prices for 30 Jun

Cheapest price

30S$

Average price

34S$

Fastest journey

7 h 45 m

Average duration

8 h 23 m

Trains per day

7

Distance

662 km

Cheap tickets

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

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

Fast trains

Of the 7 trains that leave Jakarta for Surabaya every day 4 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 23 m but if you time it right, some trains will get you there in just 7 h 45 m .

The slowest trains will take 9 h 18 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.

  • Commuter Line
    2:00 PM11h25
    Manggarai
    1:25 AMSurabaya Pasar Turi
    30 S$1One-way
    1 change
  • Commuter Line
    9:30 PM11h16
    Manggarai
    8:46 AMSurabaya Pasar Turi
    30 S$1One-way
    1 change
  • Kereta API
    8:20 AM7h45
    Jakarta Gambir
    4:05 PMSurabaya Pasar Turi
    31 S$1One-way
    0 changes
  • Kereta API
    10:20 AM8h27
    Jakarta Gambir
    6:47 PMSurabaya Pasar Turi
    31 S$1One-way
    0 changes
  • Kereta API
    7:30 PM8h41
    Jakarta Gambir
    4:11 AMSurabaya Pasar Turi
    31 S$1One-way
    0 changes

Travel Information

Compare train, coach and flight for Jakarta to Surabaya

Omio recommends booking the coach as it is the most popular option from Jakarta to Surabaya among Omio's users. If you are prioritising price take the coach with prices starting from 19S$. 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 19S$, and a flight costs an average of 67S$.

Distance: 662 km

Compare train with

Train
Most popular
Coach
Flight

34S$

Average Price

29S$

Average Price

Cheapest

117S$

Average Price

9h 44m

Average total duration

9h 14m

Onboard

+

30m

Additional time*

13h 59m

Average total duration

13h 29m

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

Jakarta to Surabaya train times

The table below shows live departures for Jakarta to Surabaya 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 API7:30 PM Jakarta Gambir
8h41
4:11 AM Surabaya Pasar Turi0 changesdirect
Kereta API8:30 PM Jakarta Gambir
7h45
4:15 AM Surabaya Pasar Turi0 changesdirect
Commuter Line9:30 PM Manggarai
11h16
8:46 AM Surabaya Pasar Turi1 change
Kereta API10:40 PM Jakarta Gambir
9h18
7:58 AM Surabaya Pasar Turi1 change
Tuesday, 30 June
Kereta API8:20 AM Jakarta Gambir
7h45
4:05 PM Surabaya Pasar Turi0 changesdirect
Kereta API10:20 AM Jakarta Gambir
8h27
6:47 PM Surabaya Pasar Turi0 changesdirect
Commuter Line2:00 PM Manggarai
11h25
1:25 AM Surabaya Pasar Turi1 change

This is the last train of the day.

Find all the dates and times for this journey

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

Compare train, coach 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
Tue
07 Jul
Wed
08 Jul
Thu
09 Jul
Fri
10 Jul
Sat
11 Jul
Sun
12 Jul
Mon
13 Jul

Journey information

Overview: Train from Jakarta to Surabaya

IndonesiaIndonesia
IndonesiaIndonesia
Icon of train

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

There are 6 trains per day. The earliest train runs at 06:30, the last at 21:41. The fastest train covers the 662 km distance in 7h 45m.

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 19S$
Distance
662 km
Average train duration
9h 14m
Cheapest ticket price
30S$
Trains per day
6
Direct trains
6
Fastest train
7h 45m
First train
6:30 AM
Last train
9:41 PM
Cheapest Month
Jun
Cheapest Day
Thu
High Season
Jan - Mar
Low Season
Jul - Sept
Busiest Day
Sat
Least Busy Day
Thu
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 19S$

Train companies: Kereta API, Commuter Line from Jakarta to Surabaya trainsKereta API, Commuter Line trains will get you between Jakarta and Surabaya from 19S$. 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 45m
Cheapest Price
31S$
Kereta API frequency
4 a day

Commuter Line

Luggage & cancellation policy
Average Duration
11h 16m
Cheapest Price
30S$
Commuter Line frequency
1 a day

FAQs: Jakarta to Surabaya train

Find answers to the most common questions about traveling from Jakarta 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
Cheap train tickets from Jakarta to Surabaya can start from as little as 30S$ when you book in advance. The average train ticket price for Jakarta to Surabaya is 34S$; 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 Jakarta to Surabaya is 7h 45m 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 Jakarta to Surabaya leaves at 6:30 am. Plan your trip with the Journey Planner from Omio.
The latest train from Jakarta to Surabaya leaves at 9:41 pm.
Yes, there are 6 direct trains a day from Jakarta to Surabaya with Kereta API. Schedules can vary on holidays or weekends with fewer direct trains.
When taking a train from Jakarta to Surabaya, you can count on Kereta API, Commuter Line for the best way to get you to Surabaya. You can also check all possible train companies who offer a service between Jakarta and Surabaya and compare the amenities they offer before buying a train ticket.
A trip to Surabaya from Jakarta is worth doing but not as a day trip with a journey time of 7h 45m each way. Check with Omio app the best way to travel.
The cheapest month for a train from Jakarta to Surabaya is June.
It's helpful to compare your options as there are 3 ways to travel between Jakarta and Surabaya including taking a train, coach and flight.

More options for your journey from Jakarta to Surabaya

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

HomeTrainsTrains in IndonesiaJakarta 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