The cheapest and fastest trains from Semarang to Yogyakarta
Cheapest price
$20
Average price
$20
Fastest journey
4 h 29 m
Average duration
5 h 59 m
Trains per day
2
Distance
88 km
The best way to find a cheap train ticket from Semarang to Yogyakarta is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Semarang to Yogyakarta will cost around $20 if you buy it on the day, but the cheapest tickets can be found for only $20.
Of the 2 trains that leave Semarang for Yogyakarta on Sun, Jun 14, 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, Jun 14 the direct trains cover the 88 km distance in an average of 5 h 59 m but if you time it right, some trains will get you there in just 4 h 29 m .
On Sun, Jun 14 the slowest trains will take 7 h 28 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
9:07 AM7h28Semarang Poncol Station4:35 PMYogyakarta$201One-way0 transfers
2:51 PM4h29Semarang Poncol Station7:20 PMYogyakarta Tugu Station$211One-way1 transfer
2:51 PM4h29Semarang Poncol Station7:20 PMYogyakarta Tugu Station$211One-way1 transfer
9:07 AM7h28Semarang Poncol Station4:35 PMYogyakarta$201One-way0 transfers
Travel Information
Compare train and bus for Semarang to Yogyakarta
Omio recommends booking the bus as it is the most popular option from Semarang to Yogyakarta among Omio's users. If you are prioritising price take the bus with prices starting from $4. For those with little time consider booking a bus which can get you there in 3h 10m. The ticket price range depends on the travel mode: a bus costs an average of $4, and a train costs an average of $20.
Distance: 54 miles (88 km)
Compare train with
| Train | Most popular Bus | Driving |
|---|---|---|
$21 Average price | $6 Average price Cheapest | $25 Average price (fuel + tolls) |
7h 13m Average total duration 6h 43m Onboard + 30m Additional time* | 3h 40m Average total duration Fastest 3h 10m Onboard + 30m Additional time* | 2h 24m Average total duration (door-to-door) |
Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Semarang to Yogyakarta:
A bus is $14 (€12) less than a train for this route with tickets for a train from Semarang to Yogyakarta costing on average $21 (€17).
Other travel options to Yogyakarta take longer:
Train takes on average 6h 43m.
Tickets start at around {cheapestPrice} compared to roughly {drivingPriceInCents} in fuel and tolls — a saving of about {savingsAmount}. The journey takes {durationInMinutes} versus {drivingDurationInMinutes} by car, so you'll arrive a bit later, but you can work, read, or sleep along the way rather than spending the time behind the wheel. You'll also save the hassle of parking at the other end.
Direct services run with Kereta API.
Driving is worth it if you're on a tight schedule, travelling as a group, or want to stop somewhere en route.
Live departures
Semarang to Yogyakarta train times
The table below shows live departures for Semarang to Yogyakarta trains for today, Saturday, June 13. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
![]() | 10:13 PM Semarang Poncol Station | 8h11 | 6:24 AM Yogyakarta Tugu Station | 1 transfer | |
| Sunday, June 14 | |||||
![]() | 9:07 AM Semarang Poncol Station | 7h28 | 4:35 PM Yogyakarta | 0 transfersDirect | |
![]() | 2:51 PM Semarang Poncol Station | 4h29 | 7:20 PM Yogyakarta Tugu Station | 1 transfer | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Semarang to Yogyakarta by train or bus
Compare train and bus prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Jun 14
Jun 15
Jun 16
Jun 17
Jun 18
Jun 19
Jun 20
Journey information
Overview: Train from Semarang to Yogyakarta
Trains from Semarang to Yogyakarta run on average 3 times per day, taking around 6h 43m. Cheap train tickets for this journey start at $20 (€16) but you can travel from only $4 (€4) by bus.
There are 3 trains per day. The earliest train runs at 07:02, the last at 14:37. The fastest train covers the 54 miles (88 km) distance in 4h 29m.
Distance 54 miles (88 km) |
Average train duration 6h 43m |
Cheapest ticket price $20 (€16) |
Trains per day 3 |
Direct trains 3 |
Fastest train 4h 29m |
First train 7:02 AM |
Last train 2:37 PM |
Cheapest Month Jun |
Cheapest Day Thu |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Sat |
Least Busy Day Fri |
Train companies: Kereta API from Semarang to Yogyakarta trainsKereta API trains will get you between Semarang and Yogyakarta from $4 (€4). With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Kereta API
FAQs: Trains from Semarang to Yogyakarta
Find answers to the most common questions about traveling from Semarang to Yogyakarta by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Yogyakarta, this guide helps you travel smarter and with confidence.

More options for your journey from Semarang to Yogyakarta
Here are some other resources that might have the information you need
