The cheapest and fastest buses from Surakarta to Semarang
Cheapest price
$5
Average price
$6
Fastest journey
50 m
Average duration
50 m
Buses per day
147
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 $6 if you buy it on the day, but the cheapest tickets can be found for only $5.
Of the 147 buses that leave Surakarta for Semarang on Mon, Dec 22, 147 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Dec 22 the direct buses cover the 77 km distance in an average of 50 m but if you time it right, some buses will get you there in just 50 m .
On Mon, Dec 22 the slowest buses will take 50 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
DAYTRANSTravel Information
Compare train and bus for Surakarta to Semarang
Omio recommends booking the train as it is the most popular option from Surakarta to Semarang 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 1h 22m. The ticket price range depends on the travel mode: a bus costs an average of €3, and a train costs an average of €16.
Distance: 47 miles (77 km)
Compare bus with
| Bus | Most popular Train |
|---|---|
€5 Average price Cheapest | €16 Average price |
2h 31m Average total duration 2h 1m Onboard + 30m Additional time* | 1h 52m Average total duration Fastest 1h 22m Onboard + 30m Additional time* |
Direct Options | Direct Options |
Surakarta to Semarang Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Joglosemar Shuttle Bus | Departure Time 04:45AM | Arrival Time 06:45AM | Duration 2h00 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 05:00AM | Arrival Time 06:30AM | Duration 1h30 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 05:30AM | Arrival Time 07:15AM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 05:45AM | Arrival Time 07:35AM | Duration 1h50 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 05:55AM | Arrival Time 07:00AM | Duration 1h05 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 06:25AM | Arrival Time 08:00AM | Duration 1h35 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 06:45AM | Arrival Time 08:45AM | Duration 2h00 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 06:55AM | Arrival Time 08:00AM | Duration 1h05 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 07:45AM | Arrival Time 10:20AM | Duration 2h35 | Departure days Mon | Cheapest price $7 |
Operator Daytrans | Departure Time 08:00AM | Arrival Time 08:50AM | Duration 0h50 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 09:00AM | Arrival Time 10:45AM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 09:30AM | Arrival Time 11:00AM | Duration 1h30 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 09:45AM | Arrival Time 11:15AM | Duration 1h30 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 10:00AM | Arrival Time 10:50AM | Duration 0h50 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 10:45AM | Arrival Time 12:45PM | Duration 2h00 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 11:00AM | Arrival Time 12:00PM | Duration 1h00 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 11:30AM | Arrival Time 12:20PM | Duration 0h50 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 12:00PM | Arrival Time 12:50PM | Duration 0h50 | Departure days Mon | Cheapest price $5 |
Operator Harapan Jaya | Departure Time 12:30PM | Arrival Time 05:29PM | Duration 4h59 | Departure days Mon | Cheapest price $13 |
Operator Daytrans | Departure Time 12:30PM | Arrival Time 02:30PM | Duration 2h00 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 12:45PM | Arrival Time 02:35PM | Duration 1h50 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 01:00PM | Arrival Time 02:45PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 01:45PM | Arrival Time 03:30PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 02:00PM | Arrival Time 03:00PM | Duration 1h00 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 02:45PM | Arrival Time 04:30PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 03:00PM | Arrival Time 04:45PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 03:30PM | Arrival Time 05:00PM | Duration 1h30 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 03:45PM | Arrival Time 05:15PM | Duration 1h30 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 04:00PM | Arrival Time 04:50PM | Duration 0h50 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 04:45PM | Arrival Time 06:45PM | Duration 2h00 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 05:00PM | Arrival Time 06:45PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Harapan Jaya | Departure Time 05:45PM | Arrival Time 10:44PM | Duration 4h59 | Departure days Mon | Cheapest price $16 |
Operator Joglosemar Shuttle Bus | Departure Time 05:45PM | Arrival Time 08:30PM | Duration 2h45 | Departure days Mon | Cheapest price $7 |
Operator Harapan Jaya | Departure Time 06:00PM | Arrival Time 10:59PM | Duration 4h59 | Departure days Mon | Cheapest price $17 |
Operator Daytrans | Departure Time 06:00PM | Arrival Time 07:00PM | Duration 1h00 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 06:30PM | Arrival Time 08:00PM | Duration 1h30 | Departure days Mon | Cheapest price $5 |
Operator Joglosemar Shuttle Bus | Departure Time 06:45PM | Arrival Time 08:30PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Harapan Jaya | Departure Time 06:45PM | Arrival Time 08:15PM | Duration 1h30 | Departure days Mon | Cheapest price $16 |
Operator Daytrans | Departure Time 07:00PM | Arrival Time 08:00PM | Duration 1h00 | Departure days Mon | Cheapest price $5 |
Operator Harapan Jaya | Departure Time 07:15PM | Arrival Time 12:14AM | Duration 4h59 | Departure days Mon | Cheapest price $16 |
Operator Joglosemar Shuttle Bus | Departure Time 07:45PM | Arrival Time 09:30PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Operator Daytrans | Departure Time 08:00PM | Arrival Time 08:50PM | Duration 0h50 | Departure days Mon | Cheapest price $5 |
Operator Harapan Jaya | Departure Time 09:15PM | Arrival Time 02:14AM | Duration 4h59 | Departure days Mon | Cheapest price $13 |
Operator Daytrans | Departure Time 09:30PM | Arrival Time 11:15PM | Duration 1h45 | Departure days Mon | Cheapest price $5 |
Live departures
Surakarta to Semarang bus times
The table below shows live departures for Surakarta to Semarang buses for today, Sunday, December 21. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
![]() | 12:45 PM Surakarta | 2h42 | 3:27 PM Semarang | 0 transfersDirect | |
![]() | 2:15 PM Surakarta | 4h59 | 7:14 PM Semarang | 0 transfersDirect | |
![]() | 2:30 PM Surakarta | 1h21 | 3:51 PM Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 PM Surakarta, Banjarsari | 2h00 | 11:45 PM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 PM Surakarta, Banjarsari | 1h45 | 11:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 PM Surakarta, Banjarsari | 1h30 | 11:15 PM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 PM Surakarta, Banjarsari | 1h50 | 11:35 PM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:00 PM Surakarta, Banjarsari | 1h30 | 11:30 PM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:00 PM Surakarta, Banjarsari | 1h50 | 11:50 PM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:00 PM Surakarta, Banjarsari | 2h00 | 12:00 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 10:30 PM Surakarta, Banjarsari | 1h45 | 12:15 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 10:30 PM Surakarta, Banjarsari | 1h00 | 11:30 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 10:30 PM Surakarta, Banjarsari | 0h50 | 11:20 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 10:30 PM Surakarta, Banjarsari | 2h00 | 12:30 AM Semarang Barat | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 PM Surakarta, Banjarsari | 1h50 | 12:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 PM Surakarta, Banjarsari | 1h45 | 12:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 PM Surakarta, Banjarsari | 1h30 | 12:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 PM Surakarta, Banjarsari | 2h00 | 12:45 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 10:55 PM Surakarta, Banjarsari | 1h05 | 12:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 10:55 PM Surakarta, Banjarsari | 0h55 | 11:50 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 10:55 PM Surakarta, Banjarsari | 2h05 | 1:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 10:55 PM Surakarta, Banjarsari | 1h50 | 12:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:25 PM Surakarta, Banjarsari | 1h35 | 1:00 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 11:25 PM Surakarta, Banjarsari | 2h05 | 1:30 AM Semarang, Gayamsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 PM Surakarta, Banjarsari | 2h00 | 1:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 PM Surakarta, Banjarsari | 1h30 | 1:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 PM Surakarta, Banjarsari | 1h50 | 1:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 PM Surakarta, Banjarsari | 1h45 | 1:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 11:55 PM Surakarta, Banjarsari | 2h05 | 2:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:55 PM Surakarta, Banjarsari | 1h05 | 1:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 11:55 PM Surakarta, Banjarsari | 1h50 | 1:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:55 PM Surakarta, Banjarsari | 0h55 | 12:50 AM Semarang, Banyumanik | 0 transfersDirect | |
| Monday, December 22 | |||||
JOGLOSEMAR SHUTTLE BUS | 12:45 AM Surakarta, Banjarsari | 2h35 | 3:20 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 12:45 AM Surakarta, Banjarsari | 2h45 | 3:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 1:00 AM Surakarta, Banjarsari | 0h50 | 1:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 1:00 AM Surakarta, Banjarsari | 1h45 | 2:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 1:00 AM Surakarta, Banjarsari | 2h00 | 3:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 1:00 AM Surakarta, Banjarsari | 1h00 | 2:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 2:00 AM Surakarta, Banjarsari | 2h00 | 4:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 2:00 AM Surakarta, Banjarsari | 1h45 | 3:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 2:00 AM Surakarta, Banjarsari | 1h00 | 3:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 2:00 AM Surakarta, Banjarsari | 0h50 | 2:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 2:30 AM Surakarta, Banjarsari | 1h30 | 4:00 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 2:30 AM Surakarta, Banjarsari | 2h00 | 4:30 AM Semarang, Gayamsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 2:45 AM Surakarta, Banjarsari | 1h30 | 4:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 2:45 AM Surakarta, Banjarsari | 1h45 | 4:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 2:45 AM Surakarta, Banjarsari | 2h00 | 4:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 2:45 AM Surakarta, Banjarsari | 1h50 | 4:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
DAYTRANS | 3:00 AM Surakarta, Banjarsari | 0h50 | 3:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 3:00 AM Surakarta, Banjarsari | 1h45 | 4:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 3:00 AM Surakarta, Banjarsari | 1h00 | 4:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 3:00 AM Surakarta, Banjarsari | 2h00 | 5:00 AM Semarang Barat | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 3:45 AM Surakarta, Banjarsari | 2h00 | 5:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 3:45 AM Surakarta, Banjarsari | 1h45 | 5:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 3:45 AM Surakarta, Banjarsari | 1h50 | 5:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 3:45 AM Surakarta, Banjarsari | 1h30 | 5:15 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 4:00 AM Surakarta, Banjarsari | 1h00 | 5:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 4:00 AM Surakarta, Banjarsari | 0h50 | 4:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 4:00 AM Surakarta, Banjarsari | 1h45 | 5:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 4:00 AM Surakarta, Banjarsari | 2h00 | 6:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 4:30 AM Surakarta, Banjarsari | 0h50 | 5:20 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 4:30 AM Surakarta, Banjarsari | 1h45 | 6:15 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 4:30 AM Surakarta, Banjarsari | 1h00 | 5:30 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 4:30 AM Surakarta, Banjarsari | 2h00 | 6:30 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 5:00 AM Surakarta, Banjarsari | 0h50 | 5:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 5:00 AM Surakarta, Banjarsari | 1h00 | 6:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 5:00 AM Surakarta, Banjarsari | 2h00 | 7:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 5:00 AM Surakarta, Banjarsari | 1h45 | 6:45 AM Semarang Barat | 0 transfersDirect | |
HARAPAN JAYA | 5:30 AM Surakarta | 4h59 | 10:29 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 5:30 AM Surakarta, Banjarsari | 2h00 | 7:30 AM Semarang, Gayamsari | 0 transfersDirect | |
DAYTRANS | 5:30 AM Surakarta, Banjarsari | 1h30 | 7:00 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 AM Surakarta, Banjarsari | 1h50 | 7:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 AM Surakarta, Banjarsari | 1h45 | 7:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 AM Surakarta, Banjarsari | 2h00 | 7:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 5:45 AM Surakarta, Banjarsari | 1h30 | 7:15 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 6:00 AM Surakarta, Banjarsari | 2h00 | 8:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 6:00 AM Surakarta, Banjarsari | 1h45 | 7:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 6:00 AM Surakarta, Banjarsari | 1h00 | 7:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 6:00 AM Surakarta, Banjarsari | 0h50 | 6:50 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 AM Surakarta, Banjarsari | 1h45 | 8:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 AM Surakarta, Banjarsari | 1h30 | 8:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 AM Surakarta, Banjarsari | 1h50 | 8:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 6:45 AM Surakarta, Banjarsari | 2h00 | 8:45 AM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 7:00 AM Surakarta, Banjarsari | 1h00 | 8:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 7:00 AM Surakarta, Banjarsari | 0h50 | 7:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 7:00 AM Surakarta, Banjarsari | 1h45 | 8:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 7:00 AM Surakarta, Banjarsari | 2h00 | 9:00 AM Semarang Barat | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 AM Surakarta, Banjarsari | 1h45 | 9:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 AM Surakarta, Banjarsari | 1h30 | 9:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 AM Surakarta, Banjarsari | 2h00 | 9:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 7:45 AM Surakarta, Banjarsari | 1h50 | 9:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 2h00 | 10:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 1h45 | 9:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 0h50 | 8:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 8:00 AM Surakarta, Banjarsari | 1h00 | 9:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 8:30 AM Surakarta, Banjarsari | 1h30 | 10:00 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 8:30 AM Surakarta, Banjarsari | 2h00 | 10:30 AM Semarang, Gayamsari | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 8:45 AM Surakarta, Banjarsari | 1h30 | 10:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 8:45 AM Surakarta, Banjarsari | 2h00 | 10:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 8:45 AM Surakarta, Banjarsari | 1h50 | 10:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 8:45 AM Surakarta, Banjarsari | 1h45 | 10:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 2h00 | 11:00 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 0h50 | 9:50 AM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 1h45 | 10:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 9:00 AM Surakarta, Banjarsari | 1h00 | 10:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 AM Surakarta, Banjarsari | 2h00 | 11:45 AM Kota Semarang | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 AM Surakarta, Banjarsari | 1h45 | 11:30 AM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 AM Surakarta, Banjarsari | 1h30 | 11:15 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 9:45 AM Surakarta, Banjarsari | 1h50 | 11:35 AM Semarang, Gajahmungkur | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 1h45 | 11:45 AM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 1h00 | 11:00 AM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 2h00 | 12:00 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 10:00 AM Surakarta, Banjarsari | 0h50 | 10:50 AM Semarang, Banyumanik | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 AM Surakarta, Banjarsari | 2h45 | 1:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 10:45 AM Surakarta, Banjarsari | 2h35 | 1:20 PM Semarang, Banyumanik | 0 transfersDirect | |
HARAPAN JAYA | 10:45 AM Surakarta | 4h59 | 3:44 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 1h00 | 12:00 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 2h00 | 1:00 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 1h45 | 12:45 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:00 AM Surakarta, Banjarsari | 0h50 | 11:50 AM Semarang, Banyumanik | 0 transfersDirect | |
HARAPAN JAYA | 11:00 AM Surakarta | 4h59 | 3:59 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 1h30 | 1:00 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 2h00 | 1:30 PM Semarang, Gayamsari | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 1h45 | 1:15 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 0h50 | 12:20 PM Semarang, Banyumanik | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 2h00 | 1:30 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 11:30 AM Surakarta, Banjarsari | 1h00 | 12:30 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 AM Surakarta, Banjarsari | 1h45 | 1:30 PM Semarang, Candisari (SPBU Akpol) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 AM Surakarta, Banjarsari | 1h30 | 1:15 PM Semarang, Banyumanik | 0 transfersDirect | |
HARAPAN JAYA | 11:45 AM Surakarta, Terminal Tirtonadi | 1h30 | 1:15 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 AM Surakarta, Banjarsari | 1h50 | 1:35 PM Semarang, Gajahmungkur | 0 transfersDirect | |
JOGLOSEMAR SHUTTLE BUS | 11:45 AM Surakarta, Banjarsari | 2h00 | 1:45 PM Kota Semarang | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 1h00 | 1:00 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 1h45 | 1:45 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 2h00 | 2:00 PM Semarang Barat | 0 transfersDirect | |
DAYTRANS | 12:00 PM Surakarta, Banjarsari | 0h50 | 12:50 PM Semarang, Banyumanik | 0 transfersDirect | |
HARAPAN JAYA | 12:15 PM Surakarta | 4h59 | 5:14 PM Semarang, Candisari (SPBU Dokter Wahidin) | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Surakarta to Semarang 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.
Dec 22
Dec 23
Dec 24
Dec 25
Dec 26
Dec 27
Dec 28
Journey information
Overview: Bus from Surakarta to Semarang
Buses from Surakarta to Semarang run on average 41 times per day, taking around 2h 1m. Cheap bus tickets for this journey start at $4 (€3) if you book in advance.
There are 41 buses per day. The earliest bus runs at 00:30, the last at 23:30. The fastest bus covers the 47 miles (77 km) distance in 1h 21m.
Distance 47 miles (77 km) |
Average bus duration 2h 1m |
Cheapest ticket price $4 (€3) |
Buses per day 41 |
Direct buses 41 |
Fastest bus 1h 21m |
First bus 00:30 |
Last bus 23:30 |
FAQs: Bus from Surakarta to Semarang
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.

When departing from Surakarta, you have various bus station options to start your trip from including Surakarta, Bus Terminal Tirtonadi, Surakarta and Surakarta, Banjarsari. When arriving in Semarang, you can end your route in bus stations like Semarang Barat, Semarang, Gajahmungkur, Kota Semarang, Semarang, Candisari (SPBU Dokter Wahidin), Semarang, Banyumanik and Semarang, Airport Udara Ahmad Yani.
Passengers board the bus most frequently from Surakarta, Bus Terminal Tirtonadi, which is located around 0.9 miles (1.5 km) away from the city centre, and they get off the bus at Semarang Barat, located 3.4 miles (5.5 km) away from the city centre.
To find the cheapest bus tickets for your trip from Surakarta to Semarang, follow these tips:
Start your search now and compare ticket prices to find the best deal!
popular bus stations
Popular bus stations from Surakarta to Semarang
- 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)
- 05:00-21:00
- Free Wi-Fi available
- Available in front of terminal
- Food stalls and small restaurants inside terminal
- Available at designated taxi stand
- Wheelchair ramps
- Public toilets available
- Bus: BST Corridor 1, 2
- Local minibus (angkot)
- 24 hours
- Free Wi-Fi
- Parking available on-site.
- Food stalls and small cafes are available nearby.
- Available outside the station.
- Elevators and ramps available for accessibility.
- Available with a small fee for use.
- Bus: 10, 12, 15
- Available on the main road
- Bus: Trans Semarang Corridor I, Local buses
- 24 hours
- Free Wi-Fi available throughout the station.
- Parking available on-site for a fee.
- Food stalls and small cafes are available inside the station.
- Taxis available at the station entrance.
- Accessible facilities including ramps and elevators.
- Public toilets are available for a small fee.
- Bus: 1, 2, 3, 4
- Train: Kereta Api Indonesia
Most popular bus connections from Surakarta
More options for your journey from Surakarta to Semarang
Here are some other resources that might have the information you need


