The cheapest and fastest trains from Jakarta to Surabaya
- Cheapest price on 15 Nov
- Rp 381,931
- Average ticket price on 15 Nov
- Rp 433,592
- Fastest journey on 15 Nov
- 7 h 45 m
- Average journey duration on 15 Nov
- 8 h 23 m
- Trains on 15 Nov
- 7
- Distance
- 662 km
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 Rp 433,592 if you buy it on the day, but you can find cheap train tickets today for only Rp 381,931.
On Sun, 15 Nov, we found 7 trains from Jakarta to Surabaya, including 4 direct services.
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.

2:00 PM 11h25 Manggarai 1:25 AM Surabaya Pasar Turi Rp 381,931 1 One-way 1 change
9:30 PM 11h16 Manggarai 8:46 AM Surabaya Pasar Turi Rp 381,931 1 One-way 1 change
8:20 AM 7h45 Jakarta Gambir 4:05 PM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes
10:20 AM 8h27 Jakarta Gambir 6:47 PM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes
7:30 PM 8h41 Jakarta Gambir 4:11 AM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes

8:20 AM 7h45 Jakarta Gambir 4:05 PM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes
8:30 PM 7h45 Jakarta Gambir 4:15 AM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes
10:20 AM 8h27 Jakarta Gambir 6:47 PM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes
7:30 PM 8h41 Jakarta Gambir 4:11 AM Surabaya Pasar Turi Rp 402,032 1 One-way 0 changes
10:40 PM 9h18 Jakarta Gambir 7:58 AM Surabaya Pasar Turi Rp 663,353 1 One-way 1 change
Journey information
Overview: Train from Jakarta to Surabaya
Take a train from Jakarta to Surabaya and enjoy the approximately 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.
Distance 662 km |
First train 6:30 AM |
Last train 9:41 PM |
High Season Jul - Sept |
Low Season Oct - Dec |
Busiest Day Thu |
Least Busy Day Thu |
Live departures
Jakarta to Surabaya train times
The table below shows live departures for Jakarta to Surabaya trains for today, Saturday, 14 November. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
![]() | 8:30 PM Jakarta Gambir | 7h45 | 4:15 AM Surabaya Pasar Turi | 0 changesdirect | |
![]() | 9:30 PM Manggarai | 11h16 | 8:46 AM Surabaya Pasar Turi | 1 change | |
![]() | 10:40 PM Jakarta Gambir | 9h18 | 7:58 AM Surabaya Pasar Turi | 1 change | |
| Sunday, 15 November | |||||
![]() | 8:20 AM Jakarta Gambir | 7h45 | 4:05 PM Surabaya Pasar Turi | 0 changesdirect | |
![]() | 10:20 AM Jakarta Gambir | 8h27 | 6:47 PM Surabaya Pasar Turi | 0 changesdirect | |
![]() | 2:00 PM Manggarai | 11h25 | 1:25 AM Surabaya Pasar Turi | 1 change | |
![]() | 7:30 PM Jakarta Gambir | 8h41 | 4:11 AM Surabaya Pasar Turi | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
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.

More options for your journey from Jakarta to Surabaya
Here are some other resources that might have the information you need
