The cheapest and fastest buses from Yogyakarta to Surakarta
Cheapest price
$4
Average price
$5
Fastest journey
1 h 55 m
Average duration
1 h 58 m
Buses per day
32
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 $5 if you buy it on the day, but the cheapest tickets can be found for only $4.
Of the 32 buses that leave Yogyakarta for Surakarta on Wed, May 06, 32 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, May 06 the direct buses cover the 58 km distance in an average of 1 h 58 m but if you time it right, some buses will get you there in just 1 h 55 m .
On Wed, May 06 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.
JOGLOSEMAR SHUTTLE BUS6:00 AM2h00Kota Yogyakarta8:00 AMSurakarta, Banjarsari$41One-way0 transfers
JOGLOSEMAR SHUTTLE BUS1:00 PM2h00Kota Yogyakarta3:00 PMSurakarta, Banjarsari$41One-way0 transfers
JOGLOSEMAR SHUTTLE BUS8:30 PM2h00Kota Yogyakarta10:30 PMSurakarta, Banjarsari$41One-way0 transfers
DAYTRANS8:00 AM2h25Kota Yogyakarta10:25 AMSurakarta, Banjarsari$51One-way0 transfers
DAYTRANS8:30 PM2h25Kota Yogyakarta10:55 PMSurakarta, Banjarsari$51One-way0 transfers
DAYTRANS3:00 AM1h55Kota Yogyakarta4:55 AMSurakarta, Banjarsari$51One-way0 transfers
DAYTRANS6:15 AM1h55Yogyakarta, Kotagede8:10 AMSurakarta, Banjarsari$51One-way0 transfers
JOGLOSEMAR SHUTTLE BUS6:00 AM2h00Kota Yogyakarta8:00 AMSurakarta, Banjarsari$41One-way0 transfers
JOGLOSEMAR SHUTTLE BUS1:00 PM2h00Kota Yogyakarta3:00 PMSurakarta, Banjarsari$41One-way0 transfers
JOGLOSEMAR SHUTTLE BUS8:30 PM2h00Kota Yogyakarta10:30 PMSurakarta, Banjarsari$41One-way0 transfers
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 31m Average total duration 2h 1m 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:55AM | Duration 1h55 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 04:00AM | Arrival Time 06:25AM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 05:00AM | Arrival Time 07:10AM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 06:00AM | Arrival Time 08:00AM | Duration 2h00 | Departure days Tue, Wed | Cheapest price $4 |
Operator Daytrans | Departure Time 06:00AM | Arrival Time 08:10AM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 06:15AM | Arrival Time 08:10AM | Duration 1h55 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 07:00AM | Arrival Time 09:25AM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 07:15AM | Arrival Time 09:25AM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 08:00AM | Arrival Time 10:25AM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 08:15AM | Arrival Time 10:25AM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 09:30AM | Arrival Time 11:55AM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 09:45AM | Arrival Time 11:55AM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 11:00AM | Arrival Time 01:25PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 11:15AM | Arrival Time 01:25PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 01:00PM | Arrival Time 03:00PM | Duration 2h00 | Departure days Tue, Wed | Cheapest price $4 |
Operator Daytrans | Departure Time 02:00PM | Arrival Time 04:25PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 02:15PM | Arrival Time 04:25PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 03:00PM | Arrival Time 05:55PM | Duration 2h55 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 03:15PM | Arrival Time 05:55PM | Duration 2h40 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 04:00PM | Arrival Time 06:55PM | Duration 2h55 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 04:15PM | Arrival Time 06:55PM | Duration 2h40 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 05:30PM | Arrival Time 07:55PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 05:45PM | Arrival Time 07:55PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator PT DELIMA SRI GEMILANG | Departure Time 06:00PM | Arrival Time 07:00PM | Duration 1h00 | Departure days Tue | Cheapest price $21 |
Operator Daytrans | Departure Time 06:30PM | Arrival Time 08:55PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 06:45PM | Arrival Time 08:55PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 07:30PM | Arrival Time 09:55PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 07:45PM | Arrival Time 09:55PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 08:30PM | Arrival Time 10:30PM | Duration 2h00 | Departure days Tue, Wed | Cheapest price $4 |
Operator Daytrans | Departure Time 08:30PM | Arrival Time 10:55PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 08:45PM | Arrival Time 10:55PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 09:30PM | Arrival Time 11:55PM | Duration 2h25 | Departure days Tue, Wed | Cheapest price $5 |
Operator Daytrans | Departure Time 09:45PM | Arrival Time 11:55PM | Duration 2h10 | Departure days Tue, Wed | Cheapest price $5 |
Live departures
Yogyakarta to Surakarta bus times
The table below shows live departures for Yogyakarta to Surakarta buses for today, Tuesday, May 5. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
DAYTRANS | 9:30 PM Kota Yogyakarta | 2h25 | 11:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 9:45 PM Yogyakarta, Kotagede | 2h10 | 11:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
| Wednesday, May 6 | |||||
DAYTRANS | 3:00 AM Kota Yogyakarta | 1h55 | 4:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 4:00 AM Kota Yogyakarta | 2h25 | 6:25 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 5:00 AM Kota Yogyakarta | 2h10 | 7:10 AM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:00 AM Kota Yogyakarta | 2h00 | 8:00 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 6:00 AM Kota Yogyakarta | 2h10 | 8:10 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 6:15 AM Yogyakarta, Kotagede | 1h55 | 8:10 AM Surakarta, Banjarsari | 0 transfersDirect | |
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 | 2h25 | 10:25 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 8:15 AM Yogyakarta, Kotagede | 2h10 | 10:25 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 9:30 AM Kota Yogyakarta | 2h25 | 11:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 9:45 AM Yogyakarta, Kotagede | 2h10 | 11:55 AM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 11:00 AM Kota Yogyakarta | 2h25 | 1:25 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 11:15 AM Yogyakarta, Kotagede | 2h10 | 1:25 PM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 1:00 PM Kota Yogyakarta | 2h00 | 3:00 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 2:00 PM Kota Yogyakarta | 2h25 | 4:25 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 2:15 PM Yogyakarta, Kotagede | 2h10 | 4:25 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 3:00 PM Kota Yogyakarta | 2h25 | 5:25 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 3:15 PM Yogyakarta, Kotagede | 2h10 | 5:25 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 4:00 PM Kota Yogyakarta | 2h55 | 6:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 4:15 PM Yogyakarta, Kotagede | 2h40 | 6:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 5:30 PM Kota Yogyakarta | 2h25 | 7:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 5:45 PM Yogyakarta, Kotagede | 2h10 | 7:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 6:30 PM Kota Yogyakarta | 2h25 | 8:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 6:45 PM Yogyakarta, Kotagede | 2h10 | 8:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 7:30 PM Kota Yogyakarta | 2h25 | 9:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 7:45 PM Yogyakarta, Kotagede | 2h10 | 9:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 8:30 PM Kota Yogyakarta | 2h25 | 10:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 8:30 PM Kota Yogyakarta | 2h00 | 10:30 PM Surakarta, Banjarsari | 0 transfersDirect | |
DAYTRANS | 8:45 PM Yogyakarta, Kotagede | 2h10 | 10:55 PM Surakarta, Banjarsari | 0 transfersDirect | |
This is the last bus of the day. | |||||
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.
May 06
May 07
May 08
May 09
May 10
May 11
May 12
Journey information
Overview: Bus from Yogyakarta to Surakarta
Buses from Yogyakarta to Surakarta run on average 12 times per day, taking around 2h 1m. Cheap bus tickets for this journey start at $3 (€2) but you can travel from only $1 (€1) by train.
There are 12 buses per day. The earliest bus runs at 04:30, the last at 22:00. The fastest bus covers the 36 miles (58 km) distance in 1h 40m.
Distance 36 miles (58 km) |
Average bus duration 2h 1m |
Cheapest ticket price $3 (€2) |
Buses per day 12 |
Direct buses 12 |
Fastest bus 1h 40m |
First bus 4:30 AM |
Last bus 10:00 PM |
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
- 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 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
- 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
