Semarang to Yogyakarta

One direct train a day, and it goes the long way: the Joglosemarkerto loops west via Tegal and Purwokerto in about seven hours. Changing at Solo gets you there in roughly half the time.
Which class to book
Change at Solo (Banyubiru ekonomi, then the KRL) if you want speed; book the Joglosemarkerto in eksekutif if you would rather sit on one train for seven hours.
Semarang to Yogyakarta

Semarang and Yogyakarta are only about 170km apart by rail via Solo, but there is no fast direct train between them. You have two realistic options, and which one suits you depends on whether you would rather sit on one train or save several hours.

The direct train: the Joglosemarkerto is KAI's Central Java loop service, named after Jogja, Solo, Semarang and Purwokerto. Its morning departure from Semarang Tawang (calling at Semarang Poncol) heads west along the north coast through Pekalongan and Tegal, climbs inland through Prupuk and Bumiayu to Purwokerto, then runs east via Kroya, Kebumen, Kutoarjo and Wates to Yogyakarta Tugu and Lempuyangan in the afternoon. That is around seven hours, with eksekutif and new-generation ekonomi carriages. It is a good way to see a large slice of Central Java in one go, but slow if you simply want to reach Yogyakarta.

The quicker way, via Solo: take the Banyubiru from Semarang Tawang inland to Solo Balapan, about two hours, then the frequent KRL commuter line from Solo to Yogyakarta, about an hour. Allowing for the change, door to door is roughly three and a half to four hours. The commuter line is not booked through the long-distance system, so you buy that leg at the station or through the commuter app.

Which to choose: if you are short on time, change at Solo. If you have the day and want a long, comfortable daylight ride with no connections, the Joglosemarkerto is pleasant, and the hill section around Bumiayu is the scenic highlight. The service is one of KAI's busiest regional trains, so book the direct seats early, especially around long weekends.

Check current departures and fares in Access by KAI. For the opposite direction, see Yogyakarta to Semarang; for the two legs of the faster route, see Semarang to Solo and Solo to Yogyakarta.

Route details

Journey times vary by service and season. Confirm against current schedules before booking.

Departures Per Day
1
Destination City
Yogyakarta
Destination Station
Yogyakarta Tugu / Lempuyangan
Journey Time
3h 30m (via Solo) - 7h 20m (direct)
Ferry Connection
No
Named Trains
Joglosemarkerto (direct); Banyubiru + KRL Solo-Yogyakarta via Solo
Origin City
Semarang
Origin Station
Semarang Tawang / Semarang Poncol
Overnight Service
No
Scenery
Good - worth a window seat
Service Status
Operating
Highest Class Available
Eksekutif

Categories

From Semarang

Last updated 10 Oct 2026

© Indonesia By Train 2026. All rights reserved