
Around 880km and thirteen to fifteen hours on the Gajayana's southern route: Jakarta, Purwokerto, Yogyakarta, Solo, Madiun, Blitar and finally Malang. It is one of the longest journeys on the network, although since the Blambangan Ekspres began running to Banyuwangi it is no longer the longest; see Jakarta to Banyuwangi.
Most departures run overnight, which is the sensible way to do it: board in the evening in Jakarta, wake in Central or East Java, arrive in Malang in the morning. Check the times of the cheaper trains, which do not all follow that pattern.
Which trains run this route: the Gajayana from Gambir is the flagship, with eksekutif and a Luxury coach, and runs inland via Yogyakarta. The eksekutif Brawijaya from Gambir and the cheaper Matarmaja and Majapahit from Pasar Senen take the north coast as far as Semarang, then cut inland via Solo and Blitar. The Jayabaya from Pasar Senen stays on the coast to Surabaya and climbs to Malang via Lawang.
On a journey this long the class decision actually matters. Fourteen hours in older ekonomi stock is genuinely tiring; the newer-generation carriages are a different proposition entirely. Gajayana in eksekutif is expensive but defensible here in a way it is not on shorter runs, and Luxury buys a deeper seat rather than a bed.
Check current departures and fares in Access by KAI. For the opposite direction, see Malang to Jakarta; to stop off halfway, see Semarang to Malang.
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