Jakarta to Surakarta bus with TransJakarta

Thu, Apr 30
+ Add return
TransJakarta
FlixBus
Alsa
BlaBlaCar Bus
Rede Expressos
2,000+ travel companies
TransJakarta
FlixBus
Alsa
BlaBlaCar Bus
Rede Expressos
2,000+ travel companies
QR-Code
Scan to get our free app
Use our app to get live travel updates and book mobile tickets for trains, buses, flights, and ferries.
App Store
rate4.9
42K ratings
Google Play
rate4.6
136K reviews

The cheapest and fastest buses from Jakarta to Surakarta

Showing times and prices for Apr 30

Cheapest price

$23

Average price

$33

Fastest journey

8 h 49 m

Average duration

9 h 27 m

Buses per day

57

Distance

465 km

Cheap tickets

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 $33 if you buy it on the day, but the cheapest tickets can be found for only $23.

Fast buses

Of the 57 buses that leave Jakarta for Surakarta on Thu, Apr 30, 57 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Thu, Apr 30 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 Thu, Apr 30 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 MandiriPO MAJOE MUDA MANDIRI
    11:00 AM8h49
    Jakarta, Pintu Bus Terminal Pulo Gebang
    7:49 PMSurakarta, Bus Terminal Tirtonadi
    $231One-way
    0 transfers
  • PO Majoe Muda MandiriPO MAJOE MUDA MANDIRI
    10:00 AM9h11
    Jakarta, Bus Terminal Kampung Rambutan
    7:11 PMSurakarta, Bus Terminal Tirtonadi
    $231One-way
    0 transfers
  • PO Majoe Muda MandiriPO MAJOE MUDA MANDIRI
    9:00 AM9h15
    Jakarta, Bus Terminal Grogol
    6:15 PMSurakarta, Bus Terminal Tirtonadi
    $231One-way
    0 transfers
  • Harapan JayaHARAPAN JAYA
    6:30 PM10h30
    Jakarta, Pintu Bus Terminal Pulo Gebang
    5:00 AMSurakarta, Bus Terminal Tirtonadi
    $311One-way
    0 transfers
  • Harapan JayaHARAPAN JAYA
    4:30 PM10h30
    Jakarta, Grogol
    3:00 AMSurakarta, Bus Terminal Tirtonadi
    $311One-way
    0 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 prices starting from $12. For those with little time consider booking a flight which can get you there in 1h 14m. The ticket price range depends on the travel mode: a bus costs an average of $12, and a flight costs an average of $50.

Distance: 288 miles (465 km)

Compare bus with

Bus
Most popular
Flight
Train

$18

Average price

Cheapest

$69

Average price

$33

Average price

10h 8m

Average total duration

9h 38m

Onboard

+

30m

Additional time*

4h 14m

Average total duration

Fastest

1h 14m

Onboard

+

3h 0m

Additional time*

7h 47m

Average total duration

7h 17m

Onboard

+

30m

Additional time*

Direct Options

Direct Options

Direct Options

Jakarta to Surakarta Bus Timetables

OperatorDeparture TimeArrival TimeDurationDeparture daysCheapest price
Operator
Harapan Jaya
Departure Time
06:15AM
Arrival Time
04:45PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:30AM
Arrival Time
05:00PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:45AM
Arrival Time
05:15PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:55AM
Arrival Time
05:25PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
07:00AM
Arrival Time
05:00PM
Duration
10h00
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
07:10AM
Arrival Time
05:40PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
07:30AM
Arrival Time
06:00PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
PO Majoe Muda Mandiri
Departure Time
09:00AM
Arrival Time
06:15PM
Duration
9h15
Departure days
Wed, Thu, Sat
Cheapest price
$13
Operator
PO Majoe Muda Mandiri
Departure Time
10:00AM
Arrival Time
07:11PM
Duration
9h11
Departure days
Wed, Thu, Sat
Cheapest price
$13
Operator
PO Majoe Muda Mandiri
Departure Time
11:00AM
Arrival Time
07:49PM
Duration
8h49
Departure days
Wed, Thu, Sat
Cheapest price
$13
Operator
Kramat Djati
Departure Time
11:30AM
Arrival Time
05:23AM
Duration
17h53
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
11:30AM
Arrival Time
10:00PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
12:00PM
Arrival Time
10:30PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
12:30PM
Arrival Time
11:00PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
01:00PM
Arrival Time
11:30PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
01:15PM
Arrival Time
11:45PM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
01:30PM
Arrival Time
12:00AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
02:00PM
Arrival Time
12:30AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
02:15PM
Arrival Time
12:45AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
02:30PM
Arrival Time
01:00AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
02:45PM
Arrival Time
01:15AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
03:00PM
Arrival Time
01:00AM
Duration
10h00
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
03:15PM
Arrival Time
01:45AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
03:30PM
Arrival Time
02:00AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Kramat Djati
Departure Time
03:30PM
Arrival Time
01:37AM
Duration
10h07
Departure days
Wed, Thu, Sat
Cheapest price
$16
Operator
Harapan Jaya
Departure Time
04:00PM
Arrival Time
02:30AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Kramat Djati
Departure Time
04:30PM
Arrival Time
04:18AM
Duration
11h48
Departure days
Wed, Thu, Sat
Cheapest price
$16
Operator
Harapan Jaya
Departure Time
04:30PM
Arrival Time
03:00AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
05:00PM
Arrival Time
03:30AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
05:30PM
Arrival Time
04:00AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
05:45PM
Arrival Time
04:15AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:00PM
Arrival Time
04:30AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:10PM
Arrival Time
04:40AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:15PM
Arrival Time
04:15AM
Duration
10h00
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:30PM
Arrival Time
05:00AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
06:45PM
Arrival Time
05:15AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
07:00PM
Arrival Time
05:30AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$17
Operator
Harapan Jaya
Departure Time
07:05PM
Arrival Time
05:35AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
07:10PM
Arrival Time
05:10AM
Duration
10h00
Departure days
Wed, Thu, Sat
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
07:15PM
Arrival Time
05:45AM
Duration
10h30
Departure days
Wed, Thu, Sat
Cheapest price
$21

Live departures

Jakarta to Surakarta bus times

The table below shows live departures for Jakarta to Surakarta buses for today, Wednesday, April 29. You can also manually refresh the results below to see updated bus journeys.

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
ESB_6983_PoMajoeMudaMandiriPO MAJOE MUDA MANDIRI11:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang
8h49
7:49 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI11:30 AM Jakarta
17h53
5:23 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:30 AM Jakarta, Pondok Pinang
10h30
10:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:30 AM Jakarta, Lebak Bulus
10h30
10:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:00 PM Jakarta, Pasar Rebo
10h30
10:30 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
11:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA1:00 PM Jakarta, Pasar Rebo
10h30
11:30 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA1:15 PM Jakarta, Kapuk
10h30
11:45 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA1:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
12:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:00 PM Bus Terminal Tanjung Priok, Jakarta Utara
10h30
12:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:00 PM Jakarta, Ampera
10h30
12:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:15 PM Jakarta, Bus Terminal Kalideres
10h30
12:45 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:30 PM Jakarta, Kapuk
10h30
1:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:45 PM Jakarta, Cengkareng
10h30
1:15 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA3:00 PM Jakarta, Taman Kota
10h00
1:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA3:15 PM Jakarta, Grogol
10h30
1:45 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA3:30 PM Jakarta, Pondok Pinang
10h30
2:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA3:30 PM Jakarta, Lebak Bulus
10h30
2:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI3:30 PM Jakarta, Bus Terminal Kampung Rambutan
10h07
1:37 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:00 PM Jakarta, Lebak Bulus
10h30
2:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:00 PM Jakarta, Pasar Rebo
10h30
2:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:00 PM Jakarta, Pondok Pinang
10h30
2:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:30 PM Jakarta, Grogol
10h30
3:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:30 PM Jakarta, Pasar Rebo
10h30
3:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
3:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI4:30 PM Jakarta, Cililitan
11h48
4:18 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI4:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
12h49
5:19 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
3:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:30 PM Jakarta, Ampera
10h30
4:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:30 PM Jakarta, Pondok Pinang
10h30
4:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:30 PM Jakarta, Lebak Bulus
10h30
4:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:45 PM Jakarta, Bus Terminal Kalideres
10h30
4:15 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:00 PM Jakarta, Pasar Rebo
10h30
4:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:00 PM Jakarta, Kapuk
10h30
4:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:10 PM Jakarta, Cengkareng
10h30
4:40 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:15 PM Jakarta, Taman Kota
10h00
4:15 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
5:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 PM Jakarta, Grogol
10h30
5:00 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:45 PM Jakarta, Ampera
10h30
5:15 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:00 PM Jakarta, Bus Terminal Kalideres
10h30
5:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
5:30 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:05 PM Jakarta, Cengkareng
10h30
5:35 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:10 PM Jakarta, Taman Kota
10h00
5:10 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:15 PM Jakarta, Grogol
10h30
5:45 AM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
Thursday, April 30
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:15 AM Jakarta, Ampera
10h30
4:45 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 AM Jakarta, Lebak Bulus
10h30
5:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 AM Jakarta, Pondok Pinang
10h30
5:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 AM Jakarta, Bus Terminal Kalideres
10h30
5:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:45 AM Jakarta, Kapuk
10h30
5:15 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:55 AM Jakarta, Cengkareng
10h30
5:25 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:00 AM Jakarta, Pasar Rebo
10h30
5:30 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:00 AM Jakarta, Taman Kota
10h00
5:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:10 AM Jakarta, Grogol
10h30
5:40 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:30 AM Jakarta, Pasar Rebo
10h30
6:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
6:00 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_6983_PoMajoeMudaMandiriPO MAJOE MUDA MANDIRI9:00 AM Jakarta, Bus Terminal Grogol
9h15
6:15 PM Surakarta, Bus Terminal Tirtonadi0 transfersDirect
ESB_6983_PoMajoeMudaMandiriPO MAJOE MUDA MANDIRI10:00 AM Jakarta, Bus Terminal Kampung Rambutan
9h11
7:11 PM Surakarta, Bus Terminal Tirtonadi0 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.

Thu
Apr 30
Fri
May 01
Sat
May 02
Sun
May 03
Mon
May 04
Tue
May 05
Wed
May 06

Journey information

Overview: Bus from Jakarta to Surakarta

IndonesiaIndonesia
IndonesiaIndonesia
Icon of bus

Buses from Jakarta to Surakarta run on average 43 times per day, taking around 9h 38m. Cheap bus tickets for this journey start at $12 (€10) if you book in advance.

There are 43 buses per day. The earliest bus runs at 06:15, the last at 21:15. The fastest bus covers the 288 miles (465 km) distance in 9h 15m.

Fares are the lowest economy prices found on Omio. Early booking often means lower prices. Prices change daily and are subject to availability. Discount cards, coach trips, and booking fees are not included.
Price information
Distance
288 miles (465 km)
Average bus duration
9h 38m
Cheapest ticket price
$12 (€10)
Buses per day
43
Direct buses
43
Fastest bus
9h 15m
First bus
6:15 AM
Last bus
9:15 PM
Cheapest Month
Aug
Cheapest Day
Sun
High Season
Oct - Dec
Low Season
Apr - Jun
Fares are the lowest economy prices found on Omio. Early booking often means lower prices. Prices change daily and are subject to availability. Discount cards, coach trips, and booking fees are not included.
Price information

Bus providers: TransJakarta from Jakarta to SurakartaYou can travel by bus between Jakarta to Surakarta with TransJakarta for as low as $12 (€10). When you search for schedules and tickets, Omio will show you the best journey

TransJakarta

Luggage & cancellation policy
Average Duration
10h 24m
TransJakarta frequency
1 a day

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.

FAQs
Cheap bus tickets from Jakarta to Surakarta can start from as little as $12 (€10) when you book in advance. The average bus ticket price for Jakarta to Surakarta is $18 (€14) ; however, prices vary depending on the time of day and class and they tend to be more expensive on the day.
The average journey time by bus from Jakarta to Surakarta is 9h 15m to travel the 288 miles (465 km) long journey. Journey times can vary on weekends and holidays, so use our Journey Planner to search for a specific date.
The earliest bus from Jakarta to Surakarta leaves at 6:15 AM. Plan your trip with the Journey Planner from Omio.
The latest bus from Jakarta to Surakarta leaves at 9:15 PM.
Yes, there are 43 direct buses a day from Jakarta to Surakarta with . Schedules can vary on holidays or weekends with fewer direct buses.
When taking a bus from Jakarta to Surakarta, you can count on TransJakarta for the best way to get you to Surakarta. You can also check all possible bus companies who offer a service between Jakarta and Surakarta and compare the amenities they offer before buying a bus ticket.
When departing from Jakarta , you have various bus station options to start your journey from including Jakarta, Pintu Bus Terminal Pulo Gebang, Jakarta, Pasar Rebo, Jakarta, Grogol, Jakarta, Lebak Bulus, Jakarta, Pondok Pinang, Jakarta, Bus Terminal Kalideres, Jakarta, Ampera, Jakarta, Kapuk, Jakarta, Taman Kota, Jakarta, Cengkareng, Jakarta, Bus Terminal Kampung Rambutan, Jakarta, Bus Terminal Grogol, Bus Terminal Tanjung Priok, Jakarta Utara, Jakarta, Jakarta, Cililitan, Jakarta, Cijantung, Jakarta, Bandar Jaya Kota, Depok . When arriving in Surakarta , you can end your journey in bus stations like Surakarta, Bus Terminal Tirtonadi, Kota Boyolali, Grogol, Solo Sumber, Gondangrejo, Bus Terminal Kalioso .Passengers board the bus most frequently from Jakarta, Pintu Bus Terminal Pulo Gebang, which is located around 11 away from the city centre, and they get off the bus at Surakarta, Bus Terminal Tirtonadi, located 1 away from the city centre.
A trip to Surakarta from Jakarta is worth doing but not as a day trip with a journey time of 9h 15m each way. Check with Omio app the best way to travel.
The cheapest month for a bus from Jakarta to Surakarta is August.
It's helpful to compare your options as there are 3 ways to travel between Jakarta and Surakarta including taking a train, bus, and flight.
No, there are no bathrooms on board the bus from Jakarta to Surakarta.
No, the bus from Jakarta to Surakarta has no accessibility options.
No, bikes are not allowed on board the bus from Jakarta to Surakarta.
Tickets are often cheaper when booked early. Traveling during off-peak hours or on weekdays can help you save money. Sort results by price to quickly identify the most affordable options. Check for promotions or discounts available on our website and app.
No, there is no food available to purchase on board the bus from Jakarta to Surakarta.
No, luggage for the bus from Jakarta to Surakarta needs to be booked in addition.
No, there are no additional luggage options for the bus from Jakarta to Surakarta.
Unfortunately, pets are not allowed on the bus from Jakarta to Surakarta.
No, there are no USB plugs on board the bus from Jakarta to Surakarta.
No, there is no WiFi on board the bus from Jakarta to Surakarta.
Since neither Jakarta nor Surakarta are in the Schengen Area, passport requirements depend on the specific immigration rules of Indonesia and Indonesia. Entry and visa requirements can be subject to change. For the latest information, check with your destination's embassy or consulate.
We recommend using the flight as it is the most popular way to get from Jakarta to Surakarta among Omio's users.
The currency used in Indonesia is the Indonesian Rupiah (IDR). For travelers, it is generally better to carry cash, especially in smaller towns and markets where card acceptance may be limited, though cards are widely accepted in major cities and larger establishments.
In Surakarta, travelers should be cautious of petty theft, especially in crowded markets and public transportation. Common scams include overcharging by taxi drivers and street vendors. It is advisable to agree on fares beforehand and keep valuables secure to avoid pickpocketing.
Pack lightweight, versatile clothing suitable for the destination's climate, and use secure, lockable luggage to protect belongings. Keep essential items like travel documents, medication, and valuables in a carry-on bag for easy access. Use packing organizers or cubes to maximize space and maintain order. Lastly, include a small first aid kit and personal hygiene items for added comfort during travel.

popular bus stations

Popular bus stations from Jakarta to Surakarta

Jakarta
Surakarta
The major bus station for departures in Jakarta is Jakarta, Pintu Terminal Pulo Gebang. Find all the information you need to know about services, amenities and connections at Jakarta, Pintu Terminal Pulo Gebang for your trip from Jakarta to Surakarta.
Amenities at bus station
WifiWifi
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-22:00
ticketOfficeHours
Distance to city center
11 km
carConnection
Car connection
Jalan Pulo Gebang Raya
Wifi
Wifi
  • Free Wi-Fi in terminal building
Parking
Parking
  • Large parking area available for cars and motorcycles
Dining
Dining
  • Food court and various food stalls available
Taxis
Taxis
  • Available at designated taxi stand
Accessibility
Accessibility
  • Wheelchair ramps, dedicated assistance
WC
WC
  • Public toilets available
Public transit options for Jakarta, Pintu Terminal Pulo Gebang
  • Bus: Transjakarta, AKAP buses
  • Angkot: Various routes
Amenities at bus station
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-22:00
ticketOfficeHours
Distance to city center
12 km
carConnection
Car connection
Jalan Raya Bogor
Parking
Parking
  • Available in surrounding area
Dining
Dining
  • Local food stalls and small restaurants nearby
Taxis
Taxis
  • Available at designated taxi stands
Accessibility
Accessibility
  • Basic ramps available
WC
WC
  • Public toilets available
Public transit options for Jakarta, Pasar Rebo
  • Bus: Transjakarta Corridor 7, Regular buses
  • Angkot: Various routes
Amenities at bus station
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-22:00
ticketOfficeHours
Distance to city center
8 km
carConnection
Car connection
Jalan Daan Mogot
Parking
Parking
  • Available in surrounding area
Dining
Dining
  • Local food stalls and small restaurants nearby
Taxis
Taxis
  • Available at designated taxi stands
Accessibility
Accessibility
  • Basic ramps available
WC
WC
  • Public toilets available
Public transit options for Jakarta, Grogol
  • Bus: TransJakarta Corridor 3, 8
  • Angkot: M26, M27

More options for your journey from Jakarta to Surakarta

Here are some other resources that might have the information you need

Most popular bus connections to Surakarta

The Omio App Makes Travel Planning Easy

We’ll get you where you want to go. From live train updates to mobile tickets, our innovative app is the ideal way to plan and keep track of your travel.

ios-badge
android-badge
Hand With Phone