Jakarta to Surabaya train

Mon, Aug 31
+ Add return
Kereta API
Commuter Line
Regionale
Deutsche Bahn
iryo
2,000+ travel companies
Kereta API
Commuter Line
Regionale
Deutsche Bahn
iryo
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, prices and bookable tickets for Aug 31

Cheapest price on Aug 31

$23

Average ticket price on Aug 31

$28

Fastest journey on Aug 31

7 h 45 m

Average journey duration on Aug 31

9 h 15 m

Trains on Aug 31

4

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

Fast trains

On Mon, Aug 31, we found 4 trains from Jakarta to Surabaya, including 2 direct services.

On Mon, Aug 31 the direct trains cover the 662 km distance in an average of 9 h 15 m but if you time it right, some trains will get you there in just 7 h 45 m .

On Mon, Aug 31 the slowest trains will take 11 h 16 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
    9:30 PM11h16
    Manggarai
    8:46 AMSurabaya Pasar Turi
    $231One-way
    1 transfer
  • Kereta API
    7:30 PM8h41
    Jakarta Gambir
    4:11 AMSurabaya Pasar Turi
    $241One-way
    0 transfers
  • Kereta API
    8:30 PM7h45
    Jakarta Gambir
    4:15 AMSurabaya Pasar Turi
    $241One-way
    0 transfers
  • Kereta API
    10:40 PM9h18
    Jakarta Gambir
    7:58 AMSurabaya Pasar Turi
    $401One-way
    1 transfer

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 an average ticket price of $24 For those with little time, consider booking a flight, which has an average total journey time of 3h 48m. Average ticket prices depend on the travel mode: a bus costs an average of $24, while a flight costs an average of $97.

Distance: 411 miles (662 km)

Compare train with

Train
Most popular
Bus
Flight
Driving

$24

Average price

Cheapest

$97

Average price

$111

Average price

(fuel + tolls)

13h 37m

Average total duration

13h 7m

Onboard

+

30m

Additional time*

3h 48m

Average total duration

Fastest

1h 48m

Onboard

+

2h 0m

Additional time*

9h 56m

Average total duration

(door-to-door)

Direct Options

Direct Options

Direct Options

Direct Options

The cheapest way to travel from Jakarta to Surabaya is a bus with an average price of $24 (€20).

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

A bus is $72 (€59) less than a flight for this route with tickets for a flight from Jakarta to Surabaya costing on average $97 (€79).

The fastest way to travel from Jakarta to Surabaya is by flight with an average journey time of 1h 48m.

Other travel options to Surabaya take longer:

Bus takes on average 13h 7m.

It's helpful to compare your options as there are 3 ways to travel between Jakarta and Surabaya including taking a bus, train, and flight.
We recommend using the bus as it is the most popular way to get from Jakarta to Surabaya among Omio's users.

Live departures

Jakarta to Surabaya train times

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

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
Kereta API8:30 PM Jakarta Gambir
7h45
4:15 AM Surabaya Pasar Turi0 transfersDirect
Commuter Line9:30 PM Manggarai
11h16
8:46 AM Surabaya Pasar Turi1 transfer
Kereta API10:40 PM Jakarta Gambir
9h18
7:58 AM Surabaya Pasar Turi1 transfer
Monday, August 31
Kereta API7:30 PM Jakarta Gambir
8h41
4:11 AM Surabaya Pasar Turi0 transfersDirect

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 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.

Mon
Aug 31
Tue
Sep 01
Wed
Sep 02
Thu
Sep 03
Fri
Sep 04
Sat
Sep 05
Sun
Sep 06
Mon
Sep 07
Tue
Sep 08
Wed
Sep 09
Thu
Sep 10
Fri
Sep 11
Sat
Sep 12
Sun
Sep 13
Mon
Sep 14
Tue
Sep 15
Wed
Sep 16
Thu
Sep 17
Fri
Sep 18
Sat
Sep 19
Sun
Sep 20

Journey information

Overview: Train from Jakarta to Surabaya

IndonesiaIndonesia
IndonesiaIndonesia
Icon of train

Take a train from Jakarta to Surabaya and enjoy the approximately 411 miles (662 km) long journey. Find schedules and pricing options for a convenient and affordable trip.

The earliest train runs at 06:30, the last at 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 $14 (€12)
Distance
411 miles (662 km)
First train
6:30 AM
Last train
9:41 PM
High Season
Jul - Sep
Low Season
Oct - Dec
Busiest Day
Thu
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
Bus from $14 (€12)

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
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.
Unfortunately, there is no night train available from Jakarta to Surabaya.
The cheapest way to get from Jakarta to Surabaya is by bus, with a cost of around $14 (€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.
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.
Since neither Jakarta 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 Jakarta 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 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