
No train runs only between Malang and Semarang; you travel on one of the Malang to Jakarta services, and Semarang is the main stop roughly halfway. Depending on the train, the journey takes about six to nine hours over roughly 380km to 440km.
Via Surabaya: the Jayabaya leaves Malang in the early afternoon, runs down through Lawang and Bangil to Surabaya Gubeng and Pasarturi, then follows the northern coastal line to Semarang Poncol, arriving in the evening. It is the quickest option and carries eksekutif and new-generation ekonomi carriages.
Inland via Blitar and Solo: the ekonomi Matarmaja leaves Malang in the morning and heads south-west through Kepanjen, Blitar and Kediri, crosses to Madiun and Solo Jebres, then turns north through Gundih to Semarang Poncol in the afternoon. The Majapahit and the eksekutif Brawijaya, which uses Semarang Tawang, follow the same inland line.
Why go this way: Semarang is a sensible stop on the long trip from East Java to Jakarta, with its restored old town and Tawang station, and it connects inland to Solo and west to Bandung. The Matarmaja's daytime run past Blitar and the Kawi foothills is the more scenic of the two routes.
Check current departures and fares in Access by KAI. For the opposite direction, see Semarang to Malang; to carry on to the capital, see Malang to Jakarta.
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