The cheapest and fastest buses from Jakarta to Surakarta
Cheapest price on Sep 15
€10
Average ticket price on Sep 15
€14
Fastest journey on Sep 15
8 h 49 m
Average journey duration on Sep 15
9 h 27 m
Buses on Sep 15
47
Distance
465 km
The best way to find a cheap bus ticket from Jakarta to Surakarta is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Jakarta to Surakarta will cost around €14 if you buy it on the day, but the cheapest tickets can be found for only €10.
On Tue, Sep 15, we found 47 buses from Jakarta to Surakarta, including 47 direct services.
On Tue, Sep 15 the direct buses cover the 465 km distance in an average of 9 h 27 m but if you time it right, some buses will get you there in just 8 h 49 m .
On Tue, Sep 15 the slowest buses will take 10 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.
PO MAJOE MUDA MANDIRI9:00 AM9h15Jakarta, Bus Terminal Grogol6:15 PMSurakarta, Bus Terminal Tirtonadi€101One-way0 transfers
PO MAJOE MUDA MANDIRI11:00 AM8h49Jakarta, Pintu Bus Terminal Pulo Gebang7:49 PMSurakarta, Bus Terminal Tirtonadi€101One-way0 transfers
PO MAJOE MUDA MANDIRI10:00 AM9h11Jakarta, Bus Terminal Kampung Rambutan7:11 PMSurakarta, Bus Terminal Tirtonadi€101One-way0 transfers
HARAPAN JAYA6:30 AM10h30Jakarta, Lebak Bulus5:00 PMSurakarta, Bus Terminal Tirtonadi€131One-way0 transfers
HARAPAN JAYA6:30 PM10h30Jakarta, Pintu Bus Terminal Pulo Gebang5:00 AMSurakarta, Bus Terminal Tirtonadi€131One-way0 transfers
PO MAJOE MUDA MANDIRI11:00 AM8h49Jakarta, Pintu Bus Terminal Pulo Gebang7:49 PMSurakarta, Bus Terminal Tirtonadi€101One-way0 transfers
PO MAJOE MUDA MANDIRI10:00 AM9h11Jakarta, Bus Terminal Kampung Rambutan7:11 PMSurakarta, Bus Terminal Tirtonadi€101One-way0 transfers
PO MAJOE MUDA MANDIRI9:00 AM9h15Jakarta, Bus Terminal Grogol6:15 PMSurakarta, Bus Terminal Tirtonadi€101One-way0 transfers
HARAPAN JAYA6:45 AM10h00Jakarta, Taman Kota4:45 PMSurakarta, Bus Terminal Tirtonadi€131One-way0 transfers
HARAPAN JAYA5:45 PM10h00Jakarta, Taman Kota3:45 AMSurakarta, Bus Terminal Tirtonadi€131One-way0 transfers
Travel Information
Compare train, bus, and flight for Jakarta to Surakarta
Omio recommends booking the flight as it is the most popular option from Jakarta to Surakarta among Omio's users. If you are prioritising price, take the bus, with an average ticket price of €12 For those with little time, consider booking a flight, which has an average total journey time of 3h 15m. Average ticket prices depend on the travel mode: a bus costs an average of €12, while a flight costs an average of €58.
Distance: 465 km
Compare bus with
| Bus | Most popular Flight | Train | Driving |
|---|---|---|---|
€12 Average price Cheapest | €58 Average price | €25 Average price | €59 Average price (fuel + tolls) |
11h 0m Average total duration 10h 30m Onboard + 30m Additional time* | 3h 15m Average total duration Fastest 1h 15m Onboard + 2h 0m Additional time* | 7h 47m Average total duration 7h 17m Onboard + 30m Additional time* | 7h 11m Average total duration (door-to-door) |
Direct Options | Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Jakarta to Surakarta:
A bus is €13 less than a train for this route with tickets for a train from Jakarta to Surakarta costing on average €25.
A bus is €46 less than a flight for this route with tickets for a flight from Jakarta to Surakarta costing on average €58.
Other travel options to Surakarta take longer:
Train takes on average 7h 17m.
Bus takes on average 10h 30m.
Live departures
Jakarta to Surakarta bus times
The table below shows live departures for Jakarta to Surakarta buses for tomorrow, Tuesday, September 15. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
HARAPAN JAYA | 6:15 AM Jakarta, Ampera | 10h30 | 4:45 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 AM Jakarta, Lebak Bulus | 10h30 | 5:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 AM Jakarta, Pondok Pinang | 10h30 | 5:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 AM Jakarta, Bus Terminal Kalideres | 10h30 | 5:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 AM Jakarta, Cengkareng | 10h30 | 5:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:45 AM Jakarta, Taman Kota | 10h00 | 4:45 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 7:00 AM Jakarta, Pasar Rebo | 10h30 | 5:30 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 7:00 AM Jakarta, Grogol | 10h30 | 5:30 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 7:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang | 10h30 | 6:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 7:30 AM Jakarta, Pasar Rebo | 10h30 | 6:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
PO MAJOE MUDA MANDIRI | 9:00 AM Jakarta, Bus Terminal Grogol | 9h15 | 6:15 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
PO MAJOE MUDA MANDIRI | 10:00 AM Jakarta, Bus Terminal Kampung Rambutan | 9h11 | 7:11 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
PO MAJOE MUDA MANDIRI | 11:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang | 8h49 | 7:49 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 11:30 AM Jakarta, Pondok Pinang | 10h30 | 10:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 11:30 AM Jakarta, Lebak Bulus | 10h30 | 10:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 12:00 PM Jakarta, Pasar Rebo | 10h30 | 10:30 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 12:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang | 10h30 | 11:00 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 1:00 PM Jakarta, Pasar Rebo | 10h30 | 11:30 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 1:15 PM Jakarta, Kapuk | 10h30 | 11:45 PM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 1:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang | 10h30 | 12:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 2:00 PM Jakarta, Ampera | 10h30 | 12:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 2:00 PM Bus Terminal Tanjung Priok, Jakarta Utara | 10h30 | 12:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 2:15 PM Jakarta, Bus Terminal Kalideres | 10h30 | 12:45 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 2:45 PM Jakarta, Cengkareng | 10h30 | 1:15 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 3:00 PM Jakarta, Taman Kota | 10h00 | 1:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 3:15 PM Jakarta, Grogol | 10h30 | 1:45 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 3:30 PM Jakarta, Lebak Bulus | 10h30 | 2:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
KRAMAT DJATI | 3:30 PM Jakarta, Bus Terminal Kampung Rambutan | 10h07 | 1:37 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 3:30 PM Jakarta, Pondok Pinang | 10h30 | 2:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 4:00 PM Jakarta, Pasar Rebo | 10h30 | 2:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 4:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang | 10h30 | 3:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 4:30 PM Jakarta, Grogol | 10h30 | 3:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
KRAMAT DJATI | 4:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang | 12h49 | 5:19 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:00 PM Jakarta, Ampera | 10h30 | 3:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:15 PM Jakarta, Bus Terminal Kalideres | 10h30 | 3:45 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:30 PM Jakarta, Pondok Pinang | 10h30 | 4:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:30 PM Jakarta, Lebak Bulus | 10h30 | 4:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:30 PM Jakarta, Kapuk | 10h30 | 4:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:45 PM Jakarta, Ampera | 10h30 | 4:15 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 5:45 PM Jakarta, Taman Kota | 10h00 | 3:45 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:00 PM Jakarta, Pasar Rebo | 10h30 | 4:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:00 PM Jakarta, Bus Terminal Kalideres | 10h30 | 4:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang | 10h30 | 5:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 PM Jakarta, Taman Kota | 10h00 | 4:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 6:30 PM Jakarta, Grogol | 10h30 | 5:00 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 7:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang | 10h30 | 5:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
HARAPAN JAYA | 7:00 PM Jakarta, Grogol | 10h30 | 5:30 AM Surakarta, Bus Terminal Tirtonadi | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Jakarta to Surakarta by train, bus, or flight
Compare train, bus, and flight 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.
Sep 15
Sep 16
Sep 17
Sep 18
Sep 19
Sep 20
Sep 21
Why should you book Jakarta to Surakarta buses with Omio?
Why book with Omio vs Harapan Jaya?
- Compare with other providers: On Omio, you can not only buy tickets for Harapan Jaya, but also compare tickets for the likes of TransJakarta to find the best option for your trip from Jakarta to Surakarta.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Harapan Jaya with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Jakarta to Surakarta.
Why book with Omio over Checkmybus, Busbud or Wanderu?
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Jakarta to Surakarta.
Journey information
Overview: Bus from Jakarta to Surakarta
Buses from Jakarta to Surakarta run on average 45 times per day, taking around 10h 30m. Cheap bus tickets for this journey start at €10 if you book in advance.
There are 45 buses per day. The earliest bus runs at 06:15, the last at 21:15. The fastest bus covers the 465 km distance in 9h 15m.
Distance 465 km |
Average bus duration 10h 30m |
Cheapest ticket price €10 |
Buses per day 45 |
Direct buses 45 |
Fastest bus 9h 15m |
First bus 6:15 AM |
Last bus 9:15 PM |
Cheapest Month Mar |
Cheapest Day Thu |
High Season Jul - Sep |
Low Season Oct - Dec |
Busiest Day Sun |
Least Busy Day Sun |
Best time to book 28 days |
Bus providers: Harapan Jaya, TransJakarta from Jakarta to SurakartaYou can travel by bus between Jakarta to Surakarta with Harapan Jaya, TransJakarta for as low as €10. When you search for schedules and tickets, Omio will show you the best journey
Harapan Jaya
TransJakarta
FAQs: Bus from Jakarta to Surakarta
Find answers to the most common questions about traveling from Jakarta 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.

- Harapan Jaya
- Luggage included in fare
- specific size/type not provided.
- Harapan Jaya
- Excess luggage and bulky luggage allowed for an additional fee
popular bus stations
Popular bus stations from Jakarta to Surakarta
Most Jakarta to Surakarta buses use the Jakarta, Pintu Terminal Pulo Gebang to Surakarta, Terminal Tirtonadi station pair. Use this guide to compare Jakarta and Surakarta bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Which Jakarta station do buses to Surakarta leave from?
Getting to Jakarta, Pintu Terminal Pulo Gebang from Jakarta city centre
Jakarta, Pintu Terminal Pulo Gebang is 11 km from Jakarta city centre. Public transport options include:
Jakarta, Pintu Terminal Pulo Gebang bus station facilities and services
Jakarta, Pintu Terminal Pulo Gebang has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Food court and various food stalls available
Wi-Fi and ATMs
Free Wi-Fi in terminal building. ATMs are several ATMs from different banks.
Tickets and information
Ticket office support is available at Jakarta, Pintu Terminal Pulo Gebang.
Parking, taxis and toilets
Available at Jakarta, Pintu Terminal Pulo Gebang: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Jakarta, Pintu Terminal Pulo Gebang: Wheelchair ramps, dedicated assistance.
Getting to Jakarta, Pasar Rebo from Jakarta city centre
Jakarta, Pasar Rebo is 12 km from Jakarta city centre. Public transport options include:
Jakarta, Pasar Rebo bus station facilities and services
Jakarta, Pasar Rebo has practical services for this route, including Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Local food stalls and small restaurants nearby
Wi-Fi and ATMs
ATMs are several ATMs from major banks nearby.
Tickets and information
Ticket office support is available at Jakarta, Pasar Rebo.
Parking, taxis and toilets
Available at Jakarta, Pasar Rebo: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Jakarta, Pasar Rebo: Basic ramps available.
Getting to Jakarta, Grogol from Jakarta city centre
Jakarta, Grogol is 8 km from Jakarta city centre. Public transport options include:
Jakarta, Grogol bus station facilities and services
Jakarta, Grogol has practical services for this route, including Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Local food stalls and small restaurants nearby
Wi-Fi and ATMs
ATMs are several ATMs from major banks nearby.
Tickets and information
Ticket office support is available at Jakarta, Grogol.
Parking, taxis and toilets
Available at Jakarta, Grogol: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Jakarta, Grogol: Basic ramps available.
Which Surakarta station do buses from Jakarta arrive at?
Getting to Surakarta, Terminal Tirtonadi from Surakarta city centre
Surakarta, Terminal Tirtonadi is 1 km from Surakarta city centre. Public transport options include:
Surakarta, Terminal Tirtonadi bus station facilities and services
Surakarta, Terminal Tirtonadi has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Food court and various food stalls available
Wi-Fi and ATMs
Free Wi-Fi available. ATMs are aTMs from several banks available.
Tickets and information
Ticket office support is available at Surakarta, Terminal Tirtonadi.
Parking, taxis and toilets
Available at Surakarta, Terminal Tirtonadi: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Surakarta, Terminal Tirtonadi: Wheelchair ramps, assistance available.
More options for your journey from Jakarta to Surakarta
Here are some other resources that might have the information you need

