How to Get from Surakarta to Surabaya

How to Get from Surakarta to Surabaya

Last updated: March 8, 2026

Leaving the royal heritage and slow-paced charm of Surakarta - often called Solo - for the bustling, industrial energy of Surabaya is a journey into the heart of East Java. While Solo feels like a city rooted in Javanese tradition and quiet elegance, Surabaya greets you with the roar of a modern metropolis and the salty breeze of a major port city. This route is a backbone of Javanese commerce and tourism, connecting the cultural soul of the island with its economic powerhouse.

The landscape between these two cities transitions from the volcanic foothills surrounding Solo to the flat, fertile plains that lead toward the coast. Whether you are traveling for business or seeking the gateway to Mount Bromo, the connection is efficient and well-served. You can easily compare schedules and book your tickets for this route on GoAsia.cc to ensure a smooth transition between these two distinct Javanese worlds.

Surakarta to Surabaya by Train

The train is arguably the most atmospheric and efficient way to cross the distance. The Indonesian rail network (KAI) is highly reliable on this route, offering a variety of classes that cater to every budget. The journey typically takes between 3 hours 27 minutes and 4 hours 35 minutes, making it significantly faster than the road on most days. Prices for the train range from $6 to $40 depending on the class and how far in advance you book.

Executive Class Options

For those seeking the highest level of comfort, the Executive classes (AA, AB, AC, AD, and A) offer reclining seats, ample legroom, and air conditioning that is often quite powerful. These carriages provide a quiet environment, perfect for watching the rice paddies and small villages flash by the large windows. This is the recommended choice if you have heavy luggage or simply want to arrive in Surabaya feeling refreshed.

Economy Class Options

The Economy classes (C, CA, CB, CC, and CD) provide a more social and budget-friendly experience. Modern Indonesian economy trains are a far cry from the crowded benches of the past; they are clean, air-conditioned, and feature individual seats, though they are more upright and have less legroom than Executive class. It is a fantastic way to travel like a local and witness the daily life of East Java at a very low cost, with tickets starting as low as $6.

Surakarta to Surabaya by Bus

Buses offer a flexible alternative, particularly for travelers who prefer different departure points or are looking for the absolute lowest price. The bus journey usually takes between 4 hours 30 minutes and 6 hours 21 minutes. Ticket prices range from $5 to $25, depending on the operator and the level of service.

Executive and Premium Services

The Executive and Premium seat buses are designed for comfort on the highway. These buses typically feature reclining seats, snacks, and sometimes even onboard toilets. There is a high frequency of Premium seat departures throughout the day and night, making it very easy to find a slot that fits your itinerary. The Premium services are priced around $11 and offer a consistent, reliable experience for the 3 to 5 hour drive.

Economy Bus

The Economy bus is the most basic way to travel. While it is the cheapest option available, starting at just $5, it is generally less comfortable than the train or the higher-tier buses. It is best suited for backpackers on a strict budget or those who enjoy the raw experience of local road travel in Indonesia.

Comparing Your Options

ModePrice (USD)DurationComfort
Train (Executive)$403h 30mHigh
Train (Economy)$64h 00mMedium
Bus (Premium)$114h 30mMedium
Bus (Economy)$56h 00mLow

Tips for Traveling from Surakarta to Surabaya

  • Book in Advance: Trains between Solo and Surabaya are extremely popular, especially on weekends and public holidays. It is wise to secure your seat at least a few days before departure.
  • Check the Station: Surakarta has two main stations, Solo Balapan and Solo Jebres. Ensure you check which station your train departs from, as Balapan is generally the hub for executive services.
  • Bring a Jacket: Indonesian trains and buses are famous for their aggressive air conditioning. Even if it is 30 degrees Celsius outside, you might find yourself shivering inside the carriage.
  • Arrival in Surabaya: Most trains arrive at Surabaya Gubeng or Surabaya Pasar Turi. Gubeng is more central for the city center and hotels, while Pasar Turi is the main hub for trains heading toward Jakarta via the north coast.
  • Snacks and Water: While many trains and premium buses offer food service or sales, it is always a good idea to bring your own water and a few snacks for the journey.

Timetable

Bus Surakarta - Surabaya $ 4.85–23.85 4h 30m – 6h 21m
  •   Economy 15:00
  •   Executive 00:20
Train Surakarta - Surabaya $ 5.99–39.35 3h 27m – 4h 35m
  •   Economy C 07:54, 10:23, 18:04, 19:47, 20:19
  •   Economy CB 10:23, 19:47, 20:19
  •   Executive AA 10:23, 19:47
  •   Economy CA 10:23, 19:47, 20:19
  •   Executive AC 10:23, 19:47
  •   Economy CC 10:23, 19:47, 20:19
  •   Economy CD 10:23, 19:47, 20:19
  •   Executive A 19:47
  •   Executive AB 10:23, 19:47
  •   Executive AD 10:23, 19:47
Bus Surabaya - Surabaya $ 10.70 3h 40m – 5h 15m
  •   Premium seat 04:45, 05:15, 06:15, 07:00, 07:30, 07:55, 08:15, 09:15, 10:30, 11:15, 11:45, 13:15, 14:15, 15:15, 16:15, 17:15, 17:45, 18:45, 20:00, 20:15, 20:45, 21:45, 22:15, 22:45, 23:45
  •   Premium seat 04:45, 05:15, 05:20, 06:15, 07:00, 07:30, 07:55, 08:15, 09:15, 09:30, 10:30, 11:15, 11:45, 12:00, 13:15, 13:30, 14:15, 15:15, 16:15, 16:30, 17:15, 17:45, 18:00, 18:15, 18:30, 18:45, 19:00, 20:00, 20:15, 20:30, 20:45, 21:30, 21:45, 22:15, 22:45, 23:00, 23:45
  •   Bus 00:15

Frequently Asked Questions

How can I book tickets from Surakarta to Surabaya?

You can book train, bus, flight, taxi, van, and ferry tickets from Surakarta to Surabaya 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 Surakarta to Surabaya?

The cheapest way to travel this route is by Economy bus, with tickets starting as low as $5. Economy train tickets are also very affordable, starting at around $6.

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

The fastest way to reach Surabaya from Surakarta is by train, which can complete the journey in approximately 3 hours and 27 minutes.

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

The journey typically takes between 3.5 and 4.5 hours by train, while the bus can take anywhere from 4.5 to over 6 hours depending on traffic and the specific service.

Are the trains in Indonesia comfortable?

Yes, Indonesian trains are generally very comfortable and well-maintained. Executive class offers the most space and reclining seats, while the modern Economy classes are clean and air-conditioned.

Do I need to book my tickets in advance?

It is highly recommended to book in advance, especially for trains. Routes across Java are busy year-round, and popular departure times can sell out days before the trip.

Is the road journey scenic?

The bus journey follows the Trans-Java Toll Road for much of the way, which is efficient but less scenic. The train route offers better views of traditional Javanese agriculture and rural landscapes.