- Must visit
Museum Lawang Sewu
Museum inside the former railway headquarters, presenting colonial-era spaces, rail history, and immersive exhibits in one of Semarang’s best-known heritage sites.
Cheapest price on Sep 19
CHF4
Average ticket price on Sep 19
CHF5
Fastest journey on Sep 19
1 h 20 m
Average journey duration on Sep 19
1 h 20 m
Buses on Sep 19
141
Distance
77 km
The best way to find a cheap bus ticket from Surakarta to Semarang is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Surakarta to Semarang will cost around CHF5 if you buy it on the day, but the cheapest tickets can be found for only CHF4.
On Sat, Sep 19, we found 141 buses from Surakarta to Semarang, including 141 direct services.
On Sat, Sep 19 the direct buses cover the 77 km distance in an average of 1 h 20 m but if you time it right, some buses will get you there in just 1 h 20 m .
On Sat, Sep 19 the slowest buses will take 1 h 20 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.
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANSOmio recommends booking the bus as it is the most popular option from Surakarta to Semarang among Omio's users. If you are prioritising price, take the bus, with an average ticket price of CHF5 For those with little time, consider booking a bus, which has an average total journey time of 2h 48m. Average ticket prices depend on the travel mode: a bus costs an average of CHF5, while a bus costs an average of CHF5.
Distance: 47 miles (77 km)
Most popular Bus | Train | Driving |
|---|---|---|
CHF5 Average price Cheapest | CHF14 Average price (fuel + tolls) | |
2h 48m Average total duration Fastest 2h 18m Onboard + 30m Additional time* | 1h 29m Average total duration (door-to-door) | |
Direct Options | Direct Options | Direct Options |
Tickets start at around CHF5 compared to roughly CHF14 in fuel and tolls — a saving of about CHF9. The journey takes 2h 18m versus 1h 29m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by Joglosemar Shuttle Bus, Daytrans.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Daytrans | Departure Time 04:30AM | Arrival Time 06:15AM | Duration 1h45 | Departure days Mon, Wed, Thu, Sun | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 04:45AM | Arrival Time 06:30AM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 04:55AM | Arrival Time 06:30AM | Duration 1h35 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 05:45AM | Arrival Time 07:30AM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 05:55AM | Arrival Time 08:00AM | Duration 2h05 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 06:25AM | Arrival Time 08:30AM | Duration 2h05 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 06:45AM | Arrival Time 08:30AM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 06:55AM | Arrival Time 09:20AM | Duration 2h25 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 07:30AM | Arrival Time 10:00AM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 07:45AM | Arrival Time 09:45AM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 08:00AM | Arrival Time 10:00AM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 09:00AM | Arrival Time 11:20AM | Duration 2h20 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 09:30AM | Arrival Time 10:50AM | Duration 1h20 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 09:45AM | Arrival Time 11:40AM | Duration 1h55 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 10:00AM | Arrival Time 11:30AM | Duration 1h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 10:45AM | Arrival Time 12:15PM | Duration 1h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 11:00AM | Arrival Time 01:00PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 11:30AM | Arrival Time 01:50PM | Duration 2h20 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 12:00PM | Arrival Time 02:30PM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Harapan Jaya | Departure Time 12:30PM | Arrival Time 05:29PM | Duration 4h59 | Departure days Tue, Fri, Sat | Cheapest price CHF10 |
Operator Daytrans | Departure Time 12:30PM | Arrival Time 02:30PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 12:45PM | Arrival Time 02:40PM | Duration 1h55 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 01:00PM | Arrival Time 03:00PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 01:45PM | Arrival Time 03:30PM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 02:00PM | Arrival Time 04:00PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 02:45PM | Arrival Time 04:40PM | Duration 1h55 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 03:00PM | Arrival Time 04:30PM | Duration 1h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 03:30PM | Arrival Time 05:30PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 03:45PM | Arrival Time 05:30PM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 04:00PM | Arrival Time 06:30PM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 04:30PM | Arrival Time 07:00PM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 04:45PM | Arrival Time 06:30PM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 05:00PM | Arrival Time 07:00PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Harapan Jaya | Departure Time 05:30PM | Arrival Time 10:29PM | Duration 4h59 | Departure days Tue, Fri, Sat | Cheapest price CHF10 |
Operator Harapan Jaya | Departure Time 05:45PM | Arrival Time 10:44PM | Duration 4h59 | Departure days Tue, Fri, Sat | Cheapest price CHF13 |
Operator Joglosemar Shuttle Bus | Departure Time 05:45PM | Arrival Time 07:45PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Harapan Jaya | Departure Time 05:50PM | Arrival Time 07:20PM | Duration 1h30 | Departure days Tue, Fri, Sat | Cheapest price CHF10 |
Operator Harapan Jaya | Departure Time 06:00PM | Arrival Time 10:59PM | Duration 4h59 | Departure days Tue, Fri, Sat | Cheapest price CHF16 |
Operator Daytrans | Departure Time 06:00PM | Arrival Time 08:30PM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 06:30PM | Arrival Time 09:00PM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 06:45PM | Arrival Time 08:30PM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Harapan Jaya | Departure Time 06:45PM | Arrival Time 08:15PM | Duration 1h30 | Departure days Tue, Fri, Sat | Cheapest price CHF16 |
Operator Daytrans | Departure Time 07:00PM | Arrival Time 09:30PM | Duration 2h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Harapan Jaya | Departure Time 07:15PM | Arrival Time 08:45PM | Duration 1h30 | Departure days Tue, Fri, Sat | Cheapest price CHF13 |
Operator Joglosemar Shuttle Bus | Departure Time 07:45PM | Arrival Time 09:40PM | Duration 1h55 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 08:00PM | Arrival Time 09:30PM | Duration 1h30 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Joglosemar Shuttle Bus | Departure Time 08:45PM | Arrival Time 10:30PM | Duration 1h45 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 09:00PM | Arrival Time 11:00PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 09:30PM | Arrival Time 11:30PM | Duration 2h00 | Departure days Fri, Sat | Cheapest price CHF4 |
Operator Daytrans | Departure Time 09:55PM | Arrival Time 10:50PM | Duration 0h55 | Departure days Sat | Cheapest price CHF3 |
Operator Daytrans | Departure Time 11:55PM | Arrival Time 01:30AM | Duration 1h35 | Departure days Tue, Wed, Sat | Cheapest price CHF4 |
The table below shows live departures for Surakarta to Semarang buses for today, Friday, September 18. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
JOGLOSEMAR SHUTTLE BUS | 8:45 PM Surakarta, Banjarsari | 1h45 | 10:30 PM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 8:45 PM Surakarta, Banjarsari | 1h55 | 10:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 9:00 PM Surakarta, Banjarsari | 2h00 | 11:00 PM Semarang, Gayamsari | 0 transfersDirect | |
DAYTRANS | 9:00 PM Surakarta, Banjarsari | 1h20 | 10:20 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 9:30 PM Surakarta, Banjarsari | 2h00 | 11:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 9:30 PM Surakarta, Banjarsari | 2h20 | 11:50 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 9:30 PM Surakarta, Banjarsari | 2h30 | 12:00 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 9:30 PM Surakarta, Banjarsari | 1h30 | 11:00 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 9:30 PM Surakarta, Banjarsari | 2h05 | 11:35 PM Semarang, Train Station Kereta Api Tawang | 0 transfersDirect | |
| Saturday, September 19 | |||||
JOGLOSEMAR SHUTTLE BUS | 4:45 AM Surakarta, Banjarsari | 1h45 | 6:30 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 4:45 AM Surakarta, Banjarsari | 1h55 | 6:40 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 4:55 AM Surakarta, Banjarsari | 1h35 | 6:30 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 4:55 AM Surakarta, Banjarsari | 2h05 | 7:00 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 4:55 AM Surakarta, Banjarsari | 2h35 | 7:30 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 4:55 AM Surakarta, Banjarsari | 2h25 | 7:20 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 AM Surakarta, Banjarsari | 1h45 | 7:30 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 AM Surakarta, Banjarsari | 1h55 | 7:40 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 5:55 AM Surakarta, Banjarsari | 2h05 | 8:00 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 5:55 AM Surakarta, Banjarsari | 2h35 | 8:30 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 5:55 AM Surakarta, Banjarsari | 1h35 | 7:30 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 5:55 AM Surakarta, Banjarsari | 2h25 | 8:20 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 6:25 AM Surakarta, Banjarsari | 2h05 | 8:30 AM Semarang, Gayamsari | 0 transfersDirect | |
DAYTRANS | 6:25 AM Surakarta, Banjarsari | 1h25 | 7:50 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 AM Surakarta, Banjarsari | 1h45 | 8:30 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 AM Surakarta, Banjarsari | 1h55 | 8:40 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 6:55 AM Surakarta, Banjarsari | 2h25 | 9:20 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 6:55 AM Surakarta, Banjarsari | 2h35 | 9:30 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 6:55 AM Surakarta, Banjarsari | 1h35 | 8:30 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 6:55 AM Surakarta, Banjarsari | 2h05 | 9:00 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 7:30 AM Surakarta, Banjarsari | 2h30 | 10:00 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 7:30 AM Surakarta, Banjarsari | 1h30 | 9:00 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 7:30 AM Surakarta, Banjarsari | 2h20 | 9:50 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 7:30 AM Surakarta, Banjarsari | 2h00 | 9:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 AM Surakarta, Banjarsari | 2h00 | 9:45 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 2h00 | 10:00 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 2h30 | 10:30 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 1h30 | 9:30 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 2h20 | 10:20 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 2h20 | 11:20 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 2h30 | 11:30 AM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 2h00 | 11:00 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 1h30 | 10:30 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 9:30 AM Surakarta, Banjarsari | 1h20 | 10:50 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 9:30 AM Surakarta, Banjarsari | 2h00 | 11:30 AM Semarang, Gayamsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 AM Surakarta, Banjarsari | 1h55 | 11:40 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 AM Surakarta, Banjarsari | 1h45 | 11:30 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 1h30 | 11:30 AM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 2h00 | 12:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 2h30 | 12:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 2h20 | 12:20 PM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 AM Surakarta, Banjarsari | 1h45 | 12:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 AM Surakarta, Banjarsari | 1h30 | 12:15 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 2h00 | 1:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 1h30 | 12:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 2h30 | 1:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 2h20 | 1:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 2h20 | 1:50 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 1h30 | 1:00 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 2h00 | 1:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 2h30 | 2:00 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 2h30 | 2:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 2h20 | 2:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 2h00 | 2:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 1h30 | 1:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 12:30 PM Surakarta, Banjarsari | 2h00 | 2:30 PM Semarang, Gayamsari | 0 transfersDirect | |
DAYTRANS | 12:30 PM Surakarta, Banjarsari | 2h00 | 2:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 12:30 PM Surakarta, Banjarsari | 1h20 | 1:50 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 12:30 PM Surakarta, Banjarsari | 2h30 | 3:00 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
HARAPAN JAYA | 12:30 PM Surakarta | 4h59 | 5:29 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 12:30 PM Surakarta, Banjarsari | 2h20 | 2:50 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 12:30 PM Surakarta, Banjarsari | 1h30 | 2:00 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 12:45 PM Surakarta, Banjarsari | 1h55 | 2:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 12:45 PM Surakarta, Banjarsari | 1h45 | 2:30 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 1:00 PM Surakarta, Banjarsari | 2h00 | 3:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 1:00 PM Surakarta, Banjarsari | 2h20 | 3:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 1:00 PM Surakarta, Banjarsari | 1h30 | 2:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 1:00 PM Surakarta, Banjarsari | 2h30 | 3:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 1:45 PM Surakarta, Banjarsari | 1h45 | 3:30 PM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 1:45 PM Surakarta, Banjarsari | 1h55 | 3:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 2:00 PM Surakarta, Banjarsari | 2h00 | 4:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 2:00 PM Surakarta, Banjarsari | 2h20 | 4:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 2:00 PM Surakarta, Banjarsari | 2h30 | 4:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 2:00 PM Surakarta, Banjarsari | 1h30 | 3:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 2:45 PM Surakarta, Banjarsari | 1h55 | 4:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 2:45 PM Surakarta, Banjarsari | 1h45 | 4:30 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 3:00 PM Surakarta, Banjarsari | 1h30 | 4:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 3:00 PM Surakarta, Banjarsari | 2h00 | 5:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 3:00 PM Surakarta, Banjarsari | 2h20 | 5:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 3:00 PM Surakarta, Banjarsari | 2h30 | 5:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 3:30 PM Surakarta, Banjarsari | 2h00 | 5:30 PM Semarang, Gayamsari | 0 transfersDirect | |
DAYTRANS | 3:30 PM Surakarta, Banjarsari | 1h20 | 4:50 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 3:45 PM Surakarta, Banjarsari | 1h45 | 5:30 PM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 3:45 PM Surakarta, Banjarsari | 1h55 | 5:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 4:00 PM Surakarta, Banjarsari | 2h30 | 6:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 4:00 PM Surakarta, Banjarsari | 2h00 | 6:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 4:00 PM Surakarta, Banjarsari | 1h30 | 5:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 4:00 PM Surakarta, Banjarsari | 2h20 | 6:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 4:30 PM Surakarta, Banjarsari | 2h30 | 7:00 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 4:30 PM Surakarta, Banjarsari | 1h30 | 6:00 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 4:30 PM Surakarta, Banjarsari | 2h00 | 6:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 4:30 PM Surakarta, Banjarsari | 2h20 | 6:50 PM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 4:45 PM Surakarta, Banjarsari | 1h45 | 6:30 PM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 4:45 PM Surakarta, Banjarsari | 1h55 | 6:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 5:00 PM Surakarta, Banjarsari | 2h00 | 7:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 5:00 PM Surakarta, Banjarsari | 2h30 | 7:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 5:00 PM Surakarta, Banjarsari | 2h20 | 7:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 5:00 PM Surakarta, Banjarsari | 1h30 | 6:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
HARAPAN JAYA | 5:30 PM Surakarta | 4h59 | 10:29 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
HARAPAN JAYA | 5:30 PM Surakarta, Bus Terminal Tirtonadi | 1h30 | 7:00 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 PM Surakarta, Banjarsari | 2h00 | 7:45 PM Semarang, Banyumanik | 0 transfersDirect | |
HARAPAN JAYA | 5:45 PM Surakarta | 4h59 | 10:44 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
HARAPAN JAYA | 5:50 PM Surakarta, Bus Terminal Tirtonadi | 1h30 | 7:20 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 6:00 PM Surakarta, Banjarsari | 2h30 | 8:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 6:00 PM Surakarta, Banjarsari | 2h00 | 8:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 6:00 PM Surakarta, Banjarsari | 2h20 | 8:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 6:00 PM Surakarta, Banjarsari | 1h30 | 7:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
HARAPAN JAYA | 6:00 PM Surakarta | 4h59 | 10:59 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 2h30 | 9:00 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 2h05 | 8:35 PM Semarang, Train Station Kereta Api Tawang | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 1h30 | 8:00 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 2h00 | 8:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 1h20 | 7:50 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 2h20 | 8:50 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 6:30 PM Surakarta, Banjarsari | 2h00 | 8:30 PM Semarang, Gayamsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 PM Surakarta, Banjarsari | 1h45 | 8:30 PM Semarang, Banyumanik | 0 transfersDirect | |
HARAPAN JAYA | 6:45 PM Surakarta, Bus Terminal Tirtonadi | 1h30 | 8:15 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 PM Surakarta, Banjarsari | 1h55 | 8:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 7:00 PM Surakarta, Banjarsari | 2h30 | 9:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 7:00 PM Surakarta, Banjarsari | 2h20 | 9:20 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 7:00 PM Surakarta, Banjarsari | 2h05 | 9:05 PM Semarang, Train Station Kereta Api Tawang | 0 transfersDirect | |
DAYTRANS | 7:00 PM Surakarta, Banjarsari | 2h00 | 9:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 7:00 PM Surakarta, Banjarsari | 1h30 | 8:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
HARAPAN JAYA | 7:15 PM Surakarta, Bus Terminal Tirtonadi | 1h30 | 8:45 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
HARAPAN JAYA | 7:15 PM Surakarta | 4h59 | 12:14 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 PM Surakarta, Banjarsari | 1h55 | 9:40 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 PM Surakarta, Banjarsari | 1h45 | 9:30 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 8:00 PM Surakarta, Banjarsari | 1h30 | 9:30 PM Semarang, Banyumanik (Srondol Toll Plaza) | 0 transfersDirect | |
DAYTRANS | 8:00 PM Surakarta, Banjarsari | 2h30 | 10:30 PM Semarang, Airport Udara Ahmad Yani | 0 transfersDirect | |
DAYTRANS | 8:00 PM Surakarta, Banjarsari | 2h05 | 10:05 PM Semarang, Train Station Kereta Api Tawang | 0 transfersDirect | |
DAYTRANS | 8:00 PM Surakarta, Banjarsari | 2h00 | 10:00 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 8:00 PM Surakarta, Banjarsari | 2h20 | 10:20 PM Kota Semarang | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
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.
Buses from Surakarta to Semarang run on average 48 times per day, taking around 2h 18m. Cheap bus tickets for this journey start at CHF4 if you book in advance.
There are 48 buses per day. The earliest bus runs at 01:00, the last at 23:30. The fastest bus covers the 47 miles (77 km) distance in 1h 20m.
Distance 47 miles (77 km) |
Average bus duration 2h 18m |
Cheapest ticket price CHF4 |
Buses per day 48 |
Direct buses 48 |
Fastest bus 1h 20m |
First bus 1:00 AM |
Last bus 11:30 PM |
Cheapest Month May |
Cheapest Day Tue |
High Season Oct - Dec |
Low Season Apr - Jun |
Discover the best of Semarang — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Semarang trip today.
Museum inside the former railway headquarters, presenting colonial-era spaces, rail history, and immersive exhibits in one of Semarang’s best-known heritage sites.
Well-curated old-town museum covering Semarang’s urban development, trade, and multicultural history through maps, photos, and restored colonial interiors.
Military museum with weapons, uniforms, and historical displays related to regional defense history. A quieter stop for visitors interested in Indonesia’s past.
Semarang’s restored old town district with colonial streetscapes, galleries, public spaces, and night lighting. Ideal for walking, photos, and architecture.
Large urban park and civic square near Simpang Lima, used for walking, relaxation, and local events. A practical stop in the city center.
Popular hilltop viewpoint area with broad city and coastline panoramas, especially attractive around sunset and evening when city lights appear.
Find answers to the most common questions about traveling from Surakarta to Semarang 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 Semarang, this guide helps you travel smarter and with confidence.

Most Surakarta to Semarang buses use the Surakarta, Banjarsari to Semarang, Candisari (SPBU Akpol) station pair, with some services arriving at Kota Semarang. Use this guide to compare Surakarta and Semarang bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Surakarta, Banjarsari is 1 km from Surakarta city centre. Public transport options include:
Surakarta, Banjarsari has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Local food stalls and small restaurants nearby
Free Wi-Fi available. ATMs are aTM available near entrance.
Ticket office support is available at Surakarta, Banjarsari.
Available at Surakarta, Banjarsari: Parking, Taxis, WC.
Accessibility facilities are available at Surakarta, Banjarsari: Basic ramps available.
Surakarta is 2 km from Surakarta city centre. Public transport options include:
Surakarta has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Food stalls and small restaurants inside terminal
Free Wi-Fi available. ATMs are aTM machines from several banks.
Ticket office support is available at Surakarta.
Available at Surakarta: Parking, Taxis, WC.
Accessibility facilities are available at Surakarta: Wheelchair ramps.
Surakarta, Terminal Tirtonadi is 1 km from Surakarta city centre. Public transport options include:
Surakarta, Terminal Tirtonadi has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Food court and various food stalls available
Free Wi-Fi available. ATMs are aTMs from several banks available.
Ticket office support is available at Surakarta, Terminal Tirtonadi.
Available at Surakarta, Terminal Tirtonadi: Parking, Taxis, WC.
Accessibility facilities are available at Surakarta, Terminal Tirtonadi: Wheelchair ramps, assistance available.
Semarang, Candisari (SPBU Akpol) is 2 km from Semarang city centre. Public transport options include:
Semarang, Candisari (SPBU Akpol) has practical services for this route, including Taxis.
Available at Semarang, Candisari (SPBU Akpol): Taxis.
Kota Semarang is 2 km from Semarang city centre. Public transport options include:
Kota Semarang has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Food stalls and small cafes are available inside the station.
Free Wi-Fi available throughout the station. ATMs are aTMs are located inside the station.
Ticket office support is available at Kota Semarang.
Available at Kota Semarang: Parking, Taxis, WC.
Accessibility facilities are available at Kota Semarang: Accessible facilities including ramps and elevators.
Semarang, Banyumanik is 8 km from Semarang city centre. Public transport options include:
Semarang, Banyumanik has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Food stalls and small cafes are available nearby.
Free Wi-Fi. ATMs are located inside the station.
Ticket office support is available at Semarang, Banyumanik.
Available at Semarang, Banyumanik: Parking, Taxis, WC.
Accessibility facilities are available at Semarang, Banyumanik: Elevators and ramps available for accessibility.
Here are some other resources that might have the information you need