How to Get from Jakarta to Surakarta

How to Get from Jakarta to Surakarta

Last updated: March 8, 2026

Leaving the glass towers of Jakarta for the heritage-rich streets of Surakarta, often called Solo, feels like a journey through Indonesia's soul. While Jakarta pulses with the frantic energy of a global megacity, Surakarta maintains a more measured pace, where Javanese traditions, royal palaces, and the scent of batik wax define the atmosphere. The transition from the capital to the heart of Central Java is a well-traveled path, offering a fascinating look at the changing landscapes of the island.

Whether you are heading to Solo for its famous culinary scene, its royal history, or as a gateway to the ancient temples of the region, you have several reliable ways to make the trip. The choice usually comes down to a trade-off between the speed of a flight, the scenic charm of the railway, or the budget-friendly flexibility of the extensive bus network. You can easily compare and book your preferred tickets for this route on GoAsia.cc to ensure a smooth transition between these two iconic cities.

Jakarta to Surakarta by Flight

For those who value time above all else, flying is the most efficient way to cross the distance. Flights typically depart from Soekarno-Hatta International Airport in Tangerang and land at Adisumarmo International Airport in Surakarta. This is the premium option, cutting a day-long overland journey down to a mere hop over the clouds.

The flight duration is remarkably short, ranging from 1 hour 15 minutes to 1 hour 20 minutes. Economy class tickets generally cost between $64 and $86. While the price is higher than the train or bus, the convenience of arriving in Solo before lunch is often worth the extra spend for business travelers or those on a tight holiday schedule. Keep in mind that while the flight itself is quick, you should factor in the time needed to navigate Jakarta's infamous traffic to reach the airport.

Jakarta to Surakarta by Train

The train is arguably the most atmospheric way to travel through Java. Departing from major hubs like Gambir or Pasar Senen in Jakarta, the railway snakes through lush rice paddies and volcanic foothills before arriving at Solo Balapan or Solo Jebres stations. It is a favorite for those who enjoy watching the rural Indonesian landscape unfold from the comfort of their seat.

Train travel on this route is exceptionally affordable, with prices starting as low as $5 and going up to $30 depending on the specific class and seat sub-category. The journey takes between 7 hours 50 minutes and 8 hours 57 minutes. You will find various economy tiers such as Economy C, CA, CB, CC, and CD. While these are all budget-friendly, the higher sub-classes often provide slightly better seat positioning or newer carriages. The train offers a reliable schedule and a level of comfort that allows you to stretch your legs, making it a highly recommended middle-ground option.

Jakarta to Surakarta by Bus

The bus network between Jakarta and Surakarta is incredibly robust, offering the most frequent departures and a wide variety of service levels. Buses depart from various points, including Jakarta city, Bekasi, and Tangerang, providing great flexibility depending on where you are staying in the capital region.

Executive and VIP Services

Most travelers opt for the Executive or VIP classes. These buses usually feature reclining seats, air conditioning, and sometimes on-board snacks or a meal stop. Prices for these services from Jakarta or Bekasi typically range from $11 to $39. The duration varies significantly based on traffic and the specific route taken, with some express services reaching Surakarta in under 5 hours from Bekasi, while others may take up to 15 hours or more if they make multiple stops along the way.

Luxury and Specialist Classes

For a more premium experience on the road, Luxury and Executive Plus buses are available. These often feature 2-1 seating configurations (fewer seats per row), providing significantly more personal space and better recline. From Tangerang, an Executive Plus service costs around $22 with a consistent travel time of about 7 hours. From Bekasi, Luxury options are priced up to $39 and offer a much higher level of comfort for the long haul across the Trans-Java Toll Road.

Comparing Your Options

ModePrice (USD)DurationComfort
Flight$64 - $861h 15minHigh
Train$5 - $308h - 9hHigh
Bus (Executive)$11 - $395h - 15hMedium
Bus (Luxury)$22 - $397h - 15hHigh

Tips for Traveling from Jakarta to Surakarta

  • Book in Advance: Trains to Surakarta are extremely popular, especially on weekends and public holidays. Tickets can sell out weeks in advance, so it is wise to secure your seat early.
  • Check the Station: Jakarta has several train stations and bus terminals. Ensure you check whether your departure is from Gambir (usually Executive trains) or Pasar Senen (usually Economy trains) to avoid a last-minute dash across the city.
  • Prepare for Aircon: Both buses and trains in Indonesia are notorious for heavy air conditioning. Even if it is sweltering outside, bring a light jacket or a sarong to stay warm during the journey.
  • Traffic Factor: If you are taking a bus or heading to the airport, always allow extra time for Jakarta's traffic. A journey to the bus terminal that should take 30 minutes can easily take two hours during peak times.
  • Arrival in Solo: Surakarta has two main train stations. Solo Balapan is more central and closer to many hotels, while Solo Jebres is slightly further east. Check which one is more convenient for your accommodation.

Timetable

Flight Tangerang - Central Java $ 61.82–83.60 1h 15m – 1h 20m
  •   Economy 08:00, 08:45, 11:30, 13:20, 13:50, 14:25, 15:30, 17:30
Bus Bekasi - Surakarta $ 11.15–37.62 4h 50m – 15h 30m
  •   Executive 04:45, 05:00, 05:30, 06:15, 06:30, 07:00, 07:15, 07:30, 08:00, 08:10, 11:00, 11:30, 14:00, 16:00, 16:30, 17:00, 17:15, 17:20, 17:30, 17:35, 17:45, 17:50, 18:00, 18:10, 18:15, 18:20, 18:30, 18:35, 18:45, 18:50, 19:00, 19:10, 19:15, 19:20, 19:30, 20:00, 20:03, 20:20, 20:45
  •   Express 15:30, 17:25, 17:55, 18:00, 18:35, 19:00, 20:00
  •   Luxury 15:30, 19:30, 19:40, 19:55, 20:00, 20:20, 20:30
Bus Jakarta - Surakarta $ 10.27–26.68 7h 50m – 17h
  •   Executive 09:30, 11:00, 15:30, 19:00, 19:15
  •   VIP 34 06:30, 07:10, 11:30, 14:15, 15:15, 16:30, 17:30, 17:45, 18:30
  •   Executive Plus 17:00
  •   Express 44 16:00
  •   Combi Family 17:30
Train Jakarta - Surakarta $ 4.99–29.49 7h 50m – 8h 57m
  •   Economy CB 12:02
  •   Economy CA 12:02
  •   Economy C 09:08
  •   Economy CC 12:02
  •   Economy CD 12:02
Bus Tangerang - Surakarta $ 21.17 7h 5m
  •   Executive Plus 17:45

Frequently Asked Questions

How can I book tickets from Jakarta to Surakarta?

You can book train, bus, flight, taxi, van, and ferry tickets from Jakarta to Surakarta directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.

What is the cheapest way to get from Jakarta to Surakarta?

The cheapest way to travel is by train, with economy class tickets starting as low as $5. Some budget bus options also offer competitive rates starting around $11.

What is the fastest way to get from Jakarta to Surakarta?

The fastest way is to fly from Soekarno-Hatta Airport (Tangerang) to Solo. The flight takes approximately 1 hour 15 minutes to 1 hour 20 minutes.

How long does it take to get from Jakarta to Surakarta?

Travel time varies by mode: flights take about 1.25 hours, trains take between 8 and 9 hours, and buses can take anywhere from 5 to 17 hours depending on the route and traffic.

Are there sleeper buses available for this route?

While traditional 'sleeper' beds are rare, the Luxury and Executive Plus bus classes offer high-quality reclining seats with leg rests that are very comfortable for overnight travel.

Is it better to take the train or the bus?

The train is generally more predictable as it avoids the traffic jams common on Java's roads. However, buses offer more departure points across Jakarta, Bekasi, and Tangerang, making them more convenient depending on your starting location.

Which airport should I use in Jakarta?

Most flights to Surakarta depart from Soekarno-Hatta International Airport (CGK) in Tangerang. Always check your ticket as some domestic flights may occasionally operate from Halim Perdanakusuma (HLP).