
Roughly 370km from Yogyakarta Tugu to Malang, taking between five and a half and seven hours. Trains run east along the southern main line through Klaten, Solo Balapan and Madiun, then leave it at Kertosono to loop south through Kediri, Tulungagung, Blitar and Kepanjen before climbing into Malang.
Which trains run this route: the Malioboro Ekspres is the dedicated service, now running through from Purwokerto. Eastbound it passes Yogyakarta in the late morning and reaches Malang in the late afternoon, which makes it a proper daytime journey. It carries eksekutif and new-generation ekonomi carriages. The all-eksekutif Gajayana from Jakarta also calls at Yogyakarta, but in the middle of the night, arriving in Malang shortly after dawn.
Why take it: the classic Java loop pairs Yogyakarta, for Borobudur and Prambanan, with Malang, the base for Mount Bromo. Without this train you would go via Surabaya and change, which adds hours. The Malioboro Ekspres does it in one seat and in daylight.
The southern loop past Kediri and Blitar is rural and green, and the final climb towards Malang runs through the Karangkates area along the Brantas valley. Book ahead at weekends and in school holidays, when capacity is tight, and check the current timetable in Access by KAI. For the return, see Malang to Yogyakarta.
Journey times vary by service and season. Confirm against current schedules before booking.
Categories
Last updated 10 Oct 2026
© Indonesia By Train 2026. All rights reserved