
There are two rail corridors between Jakarta and Surabaya. This is the southern one, running roughly 825km via Purwokerto, Yogyakarta, Solo and Madiun into Surabaya Gubeng. It is slower than the north coast route by two to three hours.
Take it anyway if the journey matters to you. The southern line passes through the most varied terrain on the island, and the overnight services are timed so that you wake up somewhere worth looking at rather than in a flat coastal industrial belt.
Which trains run this route: two premium trains leave from Gambir: the Bima, the overnight flagship at around ten and a half hours, and the Argo Semeru on the same line at a different time of day. Both carry eksekutif and Compartment Suite accommodation. From Pasar Senen, the Jayakarta runs in premium ekonomi and the Gaya Baru Malam Selatan in ekonomi and eksekutif, both slower and cheaper. The Gajayana follows the same line but runs to Malang rather than Surabaya.
Check your station. Gambir and Pasar Senen are different stations in central Jakarta, so match the station to the train you book.
If speed is the priority, use the northern line via Semarang into Pasarturi instead. If you want to break the trip, Yogyakarta sits almost exactly at the midpoint and is a far better overnight stop than anywhere on the coast. For the return journey see Surabaya to Jakarta via the Southern Line.
Journey times vary by service and season. Confirm against current schedules before booking.
Indicative bands only. KAI adjusts fares by season and subclass, so treat these as a guide to the order of magnitude rather than a quote.
© Indonesia By Train 2026. All rights reserved