GoAsia
How to Get from Surabaya to Semarang

How to Get from Surabaya to Semarang

Last updated: October 17, 2026
Contents

Leaving the industrial powerhouse of Surabaya for the colonial charm of Semarang marks a transition from East Java's bustling commercial hub to the more relaxed, historical atmosphere of Central Java. While both cities sit on the northern coast, the journey between them reveals a landscape of rice paddies and coastal horizons that many travelers miss when flying over the island. This route is a staple of Javanese travel, connecting two of Indonesia's most significant port cities through an efficient network of rails and highways.

Train, Bus, Flight and Ferry tickets

Booking and payment are handled by 12Go, not GoAsia. We may receive a commission when you book through our links.

Choosing between the train and the bus on this route often comes down to a preference for speed versus flexibility. The railway tracks hug the coastline in several sections, offering glimpses of the Java Sea, while the modern toll road has significantly cut down travel times for those opting for the bus. Regardless of your choice, this corridor is well-served, making it easy to hop between these two urban centers in a single morning or afternoon.

Surabaya to Semarang by Train

The train is widely considered the best way to travel between Surabaya and Semarang. Long-distance trains such as the Argo Bromo Anggrek and the Sembrani normally run between Surabaya Pasarturi and Gambir along the northern line; in October 2025 KAI rerouted them inland after flooding at Semarang Tawang, so check the current status of your train.[1] Surabaya has two main stations, Pasarturi and Gubeng, and Semarang has Tawang and Poncol.[1] Tickets are sold in KAI's Access by KAI app, where you can compare the departure times, travel times and fares of each train.[2] You can also book your preferred seat on GoAsia.cc.

The station building of Semarang Tawang
The station building of Semarang TawangPhoto: Bahnfrend / Wikimedia Commons, CC BY-SA 4.0

Executive Class

For those seeking the highest level of comfort, Executive Class offers reclining seats with more legroom, and the air conditioning keeps the carriage cool and quiet. KAI also runs Luxury and Suite Class Compartment carriages on selected trains.[3]

Economy Class

Economy Class is a budget-friendly way to travel. It is more basic than Executive Class, but modern Indonesian economy trains are air-conditioned. Fares depend on the train, so compare them in the app.

Surabaya to Semarang by Bus

Buses offer many departures and a variety of comfort levels, making them a good alternative if train tickets are sold out. On booking platforms, tickets cost about $8 to $29 (October 2026), and the journey takes 4 hours 15 minutes to 11 hours 45 minutes depending on the number of stops and traffic. Departures are listed from about 06:30 until after 21:00.[4]

Booking platforms list several tiers:

  • Executive and VIP: These are the most common options, with reclining seats and air conditioning.
  • Luxury and Combi Family: These services offer more privacy and higher-quality seating.

Comparing Your Options

Mode Price (USD) Duration Comfort
Train Set by KAI by train and class Set by KAI by train Medium to High
Bus (Executive/VIP/Luxury) About $8 - $29[4] 4h 15min - 11h 45min[4] Medium to High

Tips for Traveling from Surabaya to Semarang

  • Book Early for Weekends: The Surabaya to Semarang route is popular with locals traveling for work or family. Train tickets for Friday afternoons and Sunday evenings can sell out in advance.
  • Check the Station: Surabaya has two main stations, Pasarturi and Gubeng. Likewise, Semarang has Tawang and Poncol. Double-check your ticket to ensure you head to the correct station, as they are located in different parts of the city.
  • Bring a Jacket: Indonesian trains and buses are known for strong air conditioning.
  • Arrive Early: For trains and buses, aim to be at the station or terminal well before departure to find your platform or bus.
  • Food Options: Bring your own water and snacks, and expect buses to make a stop at a rest area on longer journeys.

Timetable

Bus Surabaya - Semarang $ 8.09–28.57 4h 15m – 11h 45m
  • →  Executive 06:30, 06:55, 07:00, 08:00, 08:30, 08:35, 09:00, 09:15, 09:30, 10:00, 10:30, 10:45, 11:05, 12:30, 12:45, 13:05, 13:45, 14:30, 15:00, 15:05, 15:15, 16:00, 16:30, 17:05, 17:45, 18:30, 18:45, 19:30, 19:45, 20:30, 20:45, 21:15, 21:47
  • →  Luxury 16:30
  • →  VIP 34 09:00, 09:15, 14:00, 16:01, 17:00, 17:10, 17:30, 17:40, 20:30, 20:45
  • →  Combi Family 13:00, 15:00, 15:05
  • →  Executive 32 10:00, 11:45, 12:00
Train Surabaya - Semarang $ 3.56–43.32 2h 49m – 4h 37m
  • →  Economy CB 06:15, 13:30, 15:00, 16:07, 17:45, 20:40, 22:10, 22:30, 23:00
  • →  Executive AA 05:25, 07:50, 09:10, 12:05, 15:00, 16:07, 17:45, 19:45, 20:15, 20:40, 21:15, 22:10, 23:00
  • →  Economy CA 06:15, 13:30, 15:00, 16:07, 17:45, 20:40, 22:10, 22:30, 23:00
  • →  Executive AC 07:50, 09:10, 15:00, 16:07, 17:45, 20:40, 21:15, 22:10, 23:00
  • →  Economy C 12:50
  • →  Economy CC 06:15, 13:30, 16:07, 20:40, 22:30, 23:00
  • →  Economy CD 06:15, 13:30, 16:07, 20:40, 22:30, 23:00
  • →  Executive AB 16:07, 20:40, 23:00
  • →  Executive AD 16:07, 20:40, 23:00
Bus Tangerang - Semarang $ 25.39 9h 30m
  • →  Suite Class 15:00

Frequently Asked Questions

How can I book tickets from Surabaya to Semarang?

Use the booking tool on this page to compare the transport options currently available from Surabaya to Semarang, including current prices and schedules.

What is the cheapest way to get from Surabaya to Semarang?

The bus is the cheapest option listed on booking platforms, from about $8 (October 2026). KAI sets the train fares by train and class, so compare them in the Access by KAI app.

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

The train is usually the faster option, because buses take at least 4 hours 15 minutes. Compare the travel times of the trains in the Access by KAI app.

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

By bus, booking platforms list 4 hours 15 minutes up to nearly 12 hours depending on the service and traffic. Train times differ by train, so check your train in the Access by KAI app.

Are there sleeper buses available on this route?

Booking platforms list Executive, VIP, Luxury and Combi Family buses on this route. Seat layouts differ by operator, so check the class description before you book.

Is the train ride scenic?

The northern line runs close to the coastline in places, and you can see rice paddies and views of the Java Sea, particularly during daytime departures.

Which train station in Surabaya should I use?

Surabaya has two main stations, Pasarturi and Gubeng. Which one you use depends on your train, so check your ticket carefully before heading out.

Sources and background

Numbers in the text such as [1] refer to these sources.

  1. [1] PT Kereta Api Indonesia (KAI): KAI Lakukan Penyesuaian Operasional di Wilayah Semarang, Jalur Semarang Tawang - Alastua Masih Belum Dapat Dilalui Akibat Genangan Air. Retrieved October 15, 2026.
  2. [2] PT Kereta Api Indonesia (KAI): PT KAI: Home (Access by KAI app, passenger services). Retrieved October 15, 2026.
  3. [3] PT Kereta Api Indonesia (KAI): Layanan Kereta Suite Class dan Luxury Terus di Minati. Retrieved October 15, 2026.
  4. [4] 12Go: 12Go Timetable: Surabaya to Semarang. Retrieved October 15, 2026.

Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.