The cheapest and fastest trains from Surabaya to Jakarta
Cheapest price
$26
Average price
$26
Fastest journey
7 h 40 m
Average duration
8 h 44 m
Trains per day
5
Distance
662 km
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 $26 if you buy it on the day, but you can find cheap train tickets today for only $26.
Of the 5 trains that leave Surabaya for Jakarta 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 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.










Travel Information
Compare train, coach and flight for Surabaya to Jakarta
Omio recommends booking the flight 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 $16. For those with little time consider booking a flight which can get you there in 1h 28m. The ticket price range depends on the travel mode: a coach costs an average of $16, and a flight costs an average of $46.
Distance: 662 km
Compare train with
| Train | Most popular Flight | Coach |
|---|---|---|
$30 Average Price | $59 Average Price | $17 Average Price Cheapest |
10h 6m Average total duration 9h 36m Onboard + 30m Additional time* | 4h 28m Average total duration Fastest 1h 28m Onboard + 3h 0m Additional time* | 12h 35m Average total duration 12h 5m Onboard + 30m 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, Thursday, 20 November. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
![]() | 9:10 am Surabaya Pasar Turi | 7h40 | 4:50 pm Jatinegara | 0 changesdirect | |
![]() | 12:50 pm Surabaya Pasar Turi | 12h00 | 12:50 am Jatinegara | 0 changesdirect | |
![]() | 3:00 pm Surabaya Pasar Turi | 10h40 | 1:40 am Jatinegara | 1 change | |
![]() | 4:05 pm Surabaya Pasar Turi | 10h36 | 2:41 am Jatinegara | 0 changesdirect | |
| Friday, 21 November | |||||
![]() | 7:50 am Surabaya Pasar Turi | 8h27 | 4:17 pm Jatinegara | 0 changesdirect | |
Find all the dates and times for this journey
Compare prices and tickets Surabaya to Jakarta 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.
21 Nov
22 Nov
23 Nov
24 Nov
25 Nov
26 Nov
27 Nov
Journey information
Overview: Train from Surabaya to Jakarta
Trains from Surabaya to Jakarta run on average 10 times per day, taking around 9h 36m. Cheap train tickets for this journey start at $26 but you can travel from only $16 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.
Distance 662 km |
Average train duration 9h 36m |
Cheapest ticket price $26 |
Trains per day 10 |
Direct trains 10 |
Fastest train 7h 40m |
First train 06:20 |
Last train 23:35 |
Train companies: Kereta API from Surabaya to Jakarta trainsKereta API trains will get you between Surabaya and Jakarta from $16. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Kereta API
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.

When departing from Surabaya, you have various train station options to start your journey from including Surabaya Gubeng and Surabaya Pasarturi. When arriving in Jakarta, you can end your trip in train stations like Gambir, Pasar Senen and Jatinegara.
Passengers board the train most frequently from Surabaya Gubeng, which is located around away from the city centre, and they get off the train at Gambir, located away from the city centre.
More options for your journey from Surabaya to Jakarta
Here are some other resources that might have the information you need
