The cheapest and fastest buses from Yogyakarta to Surakarta
Cheapest price
$3
Average price
$3
Fastest journey
1 h 40 m
Average duration
1 h 50 m
Buses per day
2
Distance
58 km
The best way to find a cheap bus ticket from Yogyakarta to Surakarta is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Yogyakarta to Surakarta will cost around $3 if you buy it on the day, but the cheapest tickets can be found for only $3.
Of the 2 buses that leave Yogyakarta for Surakarta on Sun, Mar 22, 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, Mar 22 the direct buses cover the 58 km distance in an average of 1 h 50 m but if you time it right, some buses will get you there in just 1 h 40 m .
On Sun, Mar 22 the slowest buses will take 2 h 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.




Travel Information
Compare train and bus for Yogyakarta to Surakarta
Omio recommends booking the train as it is the most popular option from Yogyakarta to Surakarta among Omio's users. If you are prioritising price take the bus with prices starting from $3. For those with little time consider booking a train which can get you there in 59m. The ticket price range depends on the travel mode: a bus costs an average of $3, and a train costs an average of $1.
Distance: 36 miles (58 km)
Compare bus with
| Bus | Most popular Train |
|---|---|
$3 Average price Cheapest | $14 Average price |
2h 25m Average total duration 1h 55m Onboard + 30m Additional time* | 1h 29m Average total duration Fastest 59m Onboard + 30m Additional time* |
Direct Options | Direct Options |
Yogyakarta to Surakarta Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Daytrans | Departure Time 03:00AM | Arrival Time 04:50AM | Duration 1h50 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 04:00AM | Arrival Time 06:25AM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 05:00AM | Arrival Time 07:25AM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 06:00AM | Arrival Time 08:25AM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 07:00AM | Arrival Time 09:25AM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 07:15AM | Arrival Time 09:25AM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 08:00AM | Arrival Time 10:25AM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 08:15AM | Arrival Time 10:25AM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 09:30AM | Arrival Time 11:55AM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 09:45AM | Arrival Time 11:55AM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 11:00AM | Arrival Time 01:25PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 11:15AM | Arrival Time 01:25PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 02:00PM | Arrival Time 04:25PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 02:15PM | Arrival Time 04:25PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 03:00PM | Arrival Time 05:55PM | Duration 2h55 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 03:15PM | Arrival Time 05:55PM | Duration 2h40 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 04:00PM | Arrival Time 06:55PM | Duration 2h55 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 04:15PM | Arrival Time 06:55PM | Duration 2h40 | Departure days Sat | Cheapest price $4 |
Operator Joglosemar Shuttle Bus | Departure Time 04:30PM | Arrival Time 07:00PM | Duration 2h30 | Departure days Sat | Cheapest price $4 |
Operator Joglosemar Shuttle Bus | Departure Time 04:50PM | Arrival Time 07:00PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 05:30PM | Arrival Time 07:55PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 05:45PM | Arrival Time 07:55PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 06:30PM | Arrival Time 08:55PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 06:45PM | Arrival Time 08:55PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 07:30PM | Arrival Time 09:55PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 07:45PM | Arrival Time 09:55PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Joglosemar Shuttle Bus | Departure Time 08:30PM | Arrival Time 10:30PM | Duration 2h00 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 08:30PM | Arrival Time 10:55PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 08:45PM | Arrival Time 10:55PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Operator Joglosemar Shuttle Bus | Departure Time 08:55PM | Arrival Time 10:30PM | Duration 1h35 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 09:30PM | Arrival Time 11:55PM | Duration 2h25 | Departure days Sat | Cheapest price $4 |
Operator Daytrans | Departure Time 09:45PM | Arrival Time 11:55PM | Duration 2h10 | Departure days Sat | Cheapest price $4 |
Live departures
Yogyakarta to Surakarta bus times
The table below shows live departures for Yogyakarta to Surakarta buses for today, Saturday, March 21. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
DAYTRANS | 7:00 AM Kota Yogyakarta | 2h25 | 9:25 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 7:15 AM Yogyakarta, Kotagede | 2h10 | 9:25 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 8:00 AM Kota Yogyakarta | 2h55 | 10:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 8:15 AM Yogyakarta, Kotagede | 2h40 | 10:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 9:00 AM Kota Yogyakarta | 2h55 | 11:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 9:15 AM Yogyakarta, Kotagede | 2h40 | 11:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:30 AM Kota Yogyakarta | 2h30 | 12:00 PM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:50 AM Yogyakarta | 2h10 | 12:00 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 10:30 AM Kota Yogyakarta | 2h25 | 12:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 10:45 AM Yogyakarta, Kotagede | 2h10 | 12:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 11:30 AM Kota Yogyakarta | 2h25 | 1:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 11:45 AM Yogyakarta, Kotagede | 2h10 | 1:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 12:30 PM Kota Yogyakarta | 2h25 | 2:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 12:45 PM Yogyakarta, Kotagede | 2h10 | 2:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 1:30 PM Kota Yogyakarta | 2h25 | 3:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 1:30 PM Kota Yogyakarta | 2h00 | 3:30 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 1:45 PM Yogyakarta, Kotagede | 2h10 | 3:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 1:55 PM Yogyakarta | 1h35 | 3:30 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 2:30 PM Kota Yogyakarta | 2h25 | 4:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 2:45 PM Yogyakarta, Kotagede | 2h10 | 4:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
Find all the dates and times for this journey
Compare prices and tickets Yogyakarta to Surakarta 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.
Mar 22
Mar 23
Mar 24
Mar 25
Mar 26
Mar 27
Mar 28
Journey information
Overview: Bus from Yogyakarta to Surakarta
Buses from Yogyakarta to Surakarta run on average 8 times per day, taking around 1h 55m. Cheap bus tickets for this journey start at $3 (€2) but you can travel from only $1 (€1) by train.
There are 8 buses per day. The earliest bus runs at 04:30, the last at 16:30. The fastest bus covers the 36 miles (58 km) distance in 1h 40m.
Distance 36 miles (58 km) |
Average bus duration 1h 55m |
Cheapest ticket price $3 (€2) |
Buses per day 8 |
Direct buses 8 |
Fastest bus 1h 40m |
First bus 04:30 |
Last bus 16:30 |
Cheapest month Aug |
Cheapest day Fri |
High season Jul - Sep |
Low season Apr - Jun |
FAQs: Bus from Yogyakarta to Surakarta
Find answers to the most common questions about traveling from Yogyakarta to Surakarta by bus. 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 bus, the cheapest option, or tips for making the most of your visit at Surakarta, this guide helps you travel smarter and with confidence.

popular bus stations
Popular bus stations from Yogyakarta to Surakarta
- 05:00-21:00
- Free Wi-Fi in main terminal area
- Parking available for motorcycles and cars with hourly rates
- Local food stalls and restaurants available in and around terminal
- Available at designated taxi stands along Malioboro Street
- Ramps available
- Public toilets available with small fee
- Bus: Trans Jogja lines 1A, 1B, 2A, 2B
- Local minibuses (angkot)
- 05:00-21:00
- Free Wi-Fi in some areas
- Street parking available for motorcycles and cars
- Many street food vendors and local restaurants nearby
- Available along Malioboro Street
- Basic ramps available
- Public toilets available for small fee
- Bus: Trans Jogja 1A, 1B, 2A, 2B
- Becak and Andong (traditional transport)
- 05:00-21:00
- Street parking available for motorcycles and cars
- Small local food stalls and street vendors near the terminal
- Available at the terminal entrance
- Basic ramps available
- Basic public toilets available
- Bus: Trans Jogja 3A, 3B
- Local minibus: P6, P7
- 05:00-21:00
- Free Wi-Fi available
- Available in front of terminal
- Local food stalls and small restaurants nearby
- Available at designated taxi stands
- Basic ramps available
- Public toilets available
- Bus: BST Corridor 1, Local buses
- Angkot: Various routes
- 04:00-22:00
- Free Wi-Fi available
- Available for both cars and motorcycles
- Food court and various food stalls available
- Available at designated taxi stand
- Wheelchair ramps, assistance available
- Public toilets available
- Bus: City Bus, Inter-city Bus
- Angkot (public minivan)
Most popular bus connections from Yogyakarta
More options for your journey from Yogyakarta to Surakarta
Here are some other resources that might have the information you need

