Jakarta to Surakarta bus with TransJakarta

Sat, 14 Mar
+ Add return
TransJakarta
FlixBus
Alsa
BlaBlaCar Bus
Starmart Express
1,000+ travel companies
TransJakarta
FlixBus
Alsa
BlaBlaCar Bus
Starmart Express
1,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 coaches from Jakarta to Surakarta

Showing times and prices for 16 Mar

Cheapest price

$42

Average price

$45

Fastest journey

10 h 30 m

Average duration

10 h 30 m

Buses per day

14

Distance

465 km

Cheap tickets

The best way to find a cheap coach ticket from Jakarta to Surakarta is to book your journey as far in advance as possible and to avoid travelling at rush hour.

The average ticket from Jakarta to Surakarta will cost around $45 if you buy it on the day, but you can find cheap coach tickets today for only $42.

Fast coaches

Of the 14 buses that leave Jakarta for Surakarta every day 14 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

These direct buses cover the 465 km distance in an average of 10 h 30 m but if you time it right, some buses will get you there in just 10 h 30 m .

The slowest buses will take 10 h 30 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.

Harapan JayaHARAPAN JAYA
06:30PM10h30
Jakarta, Pintu Bus Terminal Pulo Gebang
05:00AMSurakarta, Bus Terminal Tirtonadi
$421One-way
0 changes
Harapan JayaHARAPAN JAYA
07:30AM10h30
Jakarta, Pasar Rebo
06:00PMSurakarta, Bus Terminal Tirtonadi
$421One-way
0 changes
Harapan JayaHARAPAN JAYA
12:30PM10h30
Jakarta, Pintu Bus Terminal Pulo Gebang
11:00PMSurakarta, Bus Terminal Tirtonadi
$421One-way
0 changes
Harapan JayaHARAPAN JAYA
07:00PM10h30
Jakarta, Pintu Bus Terminal Pulo Gebang
05:30AMSurakarta, Bus Terminal Tirtonadi
$421One-way
0 changes
Harapan JayaHARAPAN JAYA
06:00PM10h30
Jakarta, Pasar Rebo
04:30AMSurakarta, Bus Terminal Tirtonadi
$421One-way
0 changes

Travel Information

Compare train, coach 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 coach 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 coach costs an average of $12, and a flight costs an average of $49.

Distance: 465 km

Compare bus with

Coach
Most popular
Flight
Train

$15

Average Price

Cheapest

$65

Average Price

$32

Average Price

10h 2m

Average total duration

9h 32m

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

Live departures

Jakarta to Surakarta bus times

The table below shows live departures for Jakarta to Surakarta coaches for today, Sunday, 15 March. You can also manually refresh the results below to see updated coach journeys.

Last updated at 3:01 am
ProviderDepartsDurationArrivesChanges
Tickets
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:30 am Jakarta, Pondok Pinang
10h30
3:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA4:30 am Jakarta, Lebak Bulus
10h30
3:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:00 am Jakarta, Pasar Rebo
10h30
3:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA5:30 am Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
4:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:00 am Jakarta, Pasar Rebo
10h30
4:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:00 am Jakarta, Ampera
10h30
4:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:15 am Jakarta, Bus Terminal Kalideres
10h30
4:45 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 am Jakarta, Kapuk
10h30
5:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 am Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
5:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:00 am Jakarta, Ampera
10h30
5:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:15 am Bus Terminal Tanjung Priok, Jakarta Utara
10h30
5:45 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:15 am Jakarta, Bus Terminal Kalideres
10h30
5:45 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:30 am Jakarta, Cengkareng
10h30
6:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:45 am Jakarta, Taman Kota
10h00
5:45 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA8:30 am Jakarta, Pondok Pinang
10h30
7:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA8:30 am Jakarta, Lebak Bulus
10h30
7:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI8:30 am Jakarta, Bus Terminal Kampung Rambutan
10h07
6:37 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:00 am Jakarta, Lebak Bulus
10h30
7:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:00 am Jakarta, Pasar Rebo
10h30
7:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:00 am Jakarta, Pondok Pinang
10h30
7:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI9:30 am Jakarta, Pintu Bus Terminal Pulo Gebang
12h49
10:19 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:30 am Jakarta, Pasar Rebo
10h30
8:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:30 am Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
8:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:00 am Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
8:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:30 am Jakarta, Pondok Pinang
10h30
9:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:30 am Jakarta, Lebak Bulus
10h30
9:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:00 am Jakarta, Pasar Rebo
10h30
9:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:30 am Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
10:00 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:45 am Jakarta, Ampera
10h30
10:15 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:00 pm Jakarta, Bus Terminal Kalideres
10h30
10:30 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:05 pm Jakarta, Cengkareng
10h30
10:35 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:10 pm Jakarta, Taman Kota
10h00
10:10 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:15 pm Jakarta, Grogol
10h30
10:45 pm Surakarta, Bus Terminal Tirtonadi0 changesdirect
Monday, 16 March
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:00 am Jakarta, Pasar Rebo
10h30
10:30 am Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:30 am Jakarta, Pasar Rebo
10h30
11:00 am Surakarta, Bus Terminal Tirtonadi0 changesdirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA12:30 am Jakarta, Pintu Bus Terminal Pulo Gebang
10h30
11:00 am Surakarta, Bus Terminal Tirtonadi0 changesdirect

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, coach or flight

Compare train, coach 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.

Mon
16 Mar
Tue
17 Mar
Wed
18 Mar
Thu
19 Mar
Fri
20 Mar
Sat
21 Mar
Sun
22 Mar

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 32m. Cheap bus tickets for this journey start at $12 if you book in advance.

There are 43 coaches per day. The earliest coach runs at 06:15, the last at 21:15. The fastest coach covers the 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
465 km
Average bus duration
9h 32m
Cheapest ticket price
$12
Buses per day
43
Direct buses
43
Fastest bus
9h 15m
First bus
06:15
Last bus
21:15
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. 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: Jakarta to Surakarta coach

Find answers to the most common questions about traveling from Jakarta to Surakarta by coach. 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 coach, 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 coach tickets from Jakarta to Surakarta can start from as little as $12 when you book in advance. The average coach ticket price for Jakarta to Surakarta is $15; 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 coach from Jakarta to Surakarta is 9h 15m to travel the 465 km long trip. Journey times can vary on weekends and holidays, so use our Journey Planner to search for a specific date.
The earliest coach from Jakarta to Surakarta leaves at 6:15 am. Plan your trip with the Journey Planner from Omio.
The latest coach from Jakarta to Surakarta leaves at 9:15 pm.
Yes, there are 43 direct coaches a day from Jakarta to Surakarta with . Schedules can vary on holidays or weekends with fewer direct coaches.
When taking a coach from Jakarta to Surakarta, you can count on TransJakarta for the best way to get you to Surakarta. You can also check all possible coach companies who offer a service between Jakarta and Surakarta and compare the amenities they offer before buying a coach ticket.
When departing from Jakarta , you have various coach station options to start your trip 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, Bus Terminal Kampung Rambutan, Jakarta, Bus Terminal Grogol, Bus Terminal Tanjung Priok, Jakarta Utara, Jakarta, Cengkareng, Jakarta, Cililitan, Jakarta, Cijantung, Jakarta, Jakarta, Bandar Jaya Kota, Depok . When arriving in Surakarta , you can end your trip in coach stations like Surakarta, Bus Terminal Tirtonadi, Kota Boyolali, Grogol, Solo Sumber, Gondangrejo, Bus Terminal Kalioso .Passengers board the coach most frequently from Jakarta, Pintu Bus Terminal Pulo Gebang, which is located around 11 away from the city centre, and they get off the coach 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 coach 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, coach and flight.
No, the coach from Jakarta to Surakarta has no accessibility options.
No, there are no bathrooms on board the coach from Jakarta to Surakarta.
No, bikes are not allowed on board the coach 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.
Yes, there is food available to purchase on board the coach from Jakarta to Surakarta.
No, luggage for the coach from Jakarta to Surakarta needs to be booked in addition.
No, there are no additional luggage options for the coach from Jakarta to Surakarta.
Unfortunately, pets are not allowed on the coach from Jakarta to Surakarta.
No, there are no USB plugs on board the coach from Jakarta to Surakarta.
No, there is no WiFi on board the coach from Jakarta to Surakarta.

popular bus stations

Important Stations and Airports in Jakarta and Surakarta

Jakarta
Surakarta
The major coach 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 transport 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 transport 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 transport 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

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