Jakarta to Surabaya train with Kereta API

Sat, Feb 28
+ Add return
Kereta API
Commuter Line
Deutsche Bahn
Regionale
iryo
1,000+ travel companies
Kereta API
Commuter Line
Deutsche Bahn
Regionale
iryo
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 Jakarta to Surabaya

Showing times and prices for Mar 01

Cheapest price

$25

Average price

$25

Fastest journey

7 h 45 m

Average duration

8 h 23 m

Trains per day

5

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 traveling at rush hour.

The average ticket from Jakarta to Surabaya will cost around $25 if you buy it on the day, but the cheapest tickets can be found for only $25.

Fast trains

Of the 5 trains that leave Jakarta for Surabaya on Sun, Mar 01, 4 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Sun, Mar 01 the 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 .

On Sun, Mar 01 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.

Kereta API
08:20AM7h45
Jakarta Gambir
04:05PMSurabaya Pasar Turi
$251One-way
0 transfers
Kereta API
10:20AM8h27
Jakarta Gambir
06:47PMSurabaya Pasar Turi
$251One-way
0 transfers
Commuter Line
02:00PM11h25
Manggarai
01:25AMSurabaya Pasar Turi
$251One-way
1 transfer
Kereta API
07:30PM8h41
Jakarta Gambir
04:11AMSurabaya Pasar Turi
$251One-way
0 transfers
Kereta API
08:30PM7h45
Jakarta Gambir
04:15AMSurabaya Pasar Turi
$251One-way
0 transfers

Travel Information

Compare bus, train, and flight for Jakarta to Surabaya

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

Distance: 411 miles (662 km)

Compare train with

Train
Most popular
Bus
Flight

$28

Average price

$20

Average price

Cheapest

$72

Average price

9h 44m

Average total duration

9h 14m

Onboard

+

30m

Additional time*

15h 5m

Average total duration

14h 35m

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

Last updated at 2:58 PM
ProviderDepartsDurationArrivesTransfers
Tickets
Kereta API7:30 PM Jakarta Gambir
8h41
4:11 AM Surabaya Pasar Turi0 transfersDirect
Kereta API8:30 PM Jakarta Gambir
7h45
4:15 AM Surabaya Pasar Turi0 transfersDirect
Sunday, March 1
Kereta API8:20 AM Jakarta Gambir
7h45
4:05 PM Surabaya Pasar Turi0 transfersDirect
Kereta API10:20 AM Jakarta Gambir
8h27
6:47 PM Surabaya Pasar Turi0 transfersDirect
Commuter Line2:00 PM Manggarai
11h25
1:25 AM Surabaya Pasar Turi1 transfer

Find all the dates and times for this journey

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

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

Sat
Feb 28
Sun
Mar 01
Mon
Mar 02
Tue
Mar 03
Wed
Mar 04
Thu
Mar 05
Fri
Mar 06

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 $25 (€20) but you can travel from only $15 (€12) by bus.

There are 6 trains per day. The earliest train runs at 06:30, the last at 21:41. The fastest train covers the 411 miles (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
Bus from $15 (€12)
Distance
411 miles (662 km)
Average train duration
9h 14m
Cheapest ticket price
$25 (€20)
Trains per day
6
Direct trains
6
Fastest train
7h 45m
First train
06:30
Last train
21:41
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 $15 (€12)

Train companies: Kereta API, Commuter Line from Jakarta to Surabaya trainsKereta API, Commuter Line trains will get you between Jakarta and Surabaya from $15 (€12). 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
$25 (€20)
Kereta API frequency
4 a day

Commuter Line

Luggage & cancellation policy
Average Duration
11h 16m
Cheapest Price
$25 (€20)
Commuter Line frequency
1 a day

FAQs: Trains from Jakarta to Surabaya

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
Train ticket prices from Jakarta to Surabaya can vary. The cheapest ticket starts at $25 (€20), while the average price is around $28 (€22).
The train from Jakarta to Surabaya takes 7h 45m and runs 6 per day.
The distance by train from Jakarta to Surabaya is 411 miles (662 km).
The first train from Jakarta to Surabaya leaves at 6:30 AM.
The last train from Jakarta to Surabaya leaves at 9:41 PM.
There is no high speed train available from Jakarta to Surabaya.
Yes, there is a direct train from Jakarta to Surabaya. This service operates 6 times per day, provided by Kereta API.
Unfortunately, there is no night train available from Jakarta to Surabaya.
The train station in Jakarta that goes to Surabaya is Gambir, which connects to Surabaya Gubeng.
The cheapest way to get from Jakarta to Surabaya is by bus, with a cost of around $15 (€12).
The train journey from Jakarta to Surabaya offers scenic views of Java's lush countryside, including rice paddies, traditional villages, and volcanic landscapes, making it a visually pleasing experience.
A day trip from Jakarta to Surabaya is not feasible as the journey takes 7h 45m. Trains operate 6 times per day.
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 Jakarta to Surabaya.

More options for your journey from Jakarta to Surabaya

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

HomeTrainsJakarta 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