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.
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 gold standard for traveling between Surabaya and Semarang. It is the fastest way to make the trip, with travel times starting at just 2 hours and 49 minutes. Trains depart from major hubs like Surabaya Pasarturi or Surabaya Gubeng and arrive at either Semarang Tawang or Semarang Poncol. You can easily book your preferred seat on GoAsia.cc to ensure you get the class of service you want.
Executive Class
For those seeking the highest level of comfort, Executive Class (subclasses AA, AB, AC, and AD) offers a premium experience. These carriages feature reclining seats with ample legroom, footrests, and individual power outlets. The air conditioning is consistently cool, and the overall environment is quiet and conducive to work or rest. Prices for Executive Class tickets range up to $46, reflecting the faster travel times and superior amenities.
Economy Class
Economy Class (subclasses C, CA, CB, CC, and CD) is a highly efficient and budget-friendly way to travel. While more basic than Executive Class, modern Indonesian economy trains are clean and air-conditioned. The seating layout is usually 2-2 or 3-2 depending on the specific train model. With prices starting as low as $4, it is an unbeatable value for a journey of this distance. The duration for economy services typically ranges from 3 to 4.5 hours.
Surabaya to Semarang by Bus
Buses offer incredible frequency and a variety of comfort levels, making them a great alternative if train tickets are sold out. The journey by bus typically takes between 4 hours and 15 minutes and 11 hours and 45 minutes, depending on the number of stops and traffic conditions. Most operators now utilize the Trans-Java Toll Road, which has made the trip much smoother and more predictable than in years past.
The price for a bus ticket ranges from $9 to $31. Travelers can choose from several tiers:
- Executive and VIP: These are the most common options, featuring reclining seats, air conditioning, and often a snack or meal included in the price.
- Luxury and Combi Family: These specialized services offer more privacy, higher-quality seating, and sometimes a 1-2 seating configuration for extra space.
- Suite Class: For the ultimate road experience, Suite Class buses offer fully reclining sleeper-style seats, individual entertainment screens, and a level of comfort that rivals business class on an airplane.
Comparing Your Options
| Mode | Price (USD) | Duration | Comfort |
|---|---|---|---|
| Train (Executive) | $15 - $46 | 2h 49min - 4h 37min | High |
| Train (Economy) | $4 - $18 | 3h 05min - 4h 37min | Medium |
| Bus (Executive/VIP) | $9 - $30 | 4h 15min - 11h 45min | Medium to High |
Tips for Traveling from Surabaya to Semarang
- Book Early for Weekends: The Surabaya to Semarang route is very popular with locals traveling for work or family. Train tickets for Friday afternoons and Sunday evenings often sell out a week 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 famous for their powerful air conditioning. Even if it is 30 degrees Celsius outside, the interior can feel like a refrigerator.
- Arrive Early: For trains, aim to be at the station at least 30 to 45 minutes before departure to navigate the check-in kiosks and boarding process. For buses, 30 minutes at the terminal is usually sufficient.
- Food Options: Most Executive trains have a dining car where you can buy hot meals like Nasi Goreng. Buses often make one stop at a "Rest Area" or a dedicated restaurant for a meal break during longer journeys.
Timetable
| Bus Surabaya - Semarang $ 8.36–29.54 4h 15m – 11h 45m | |
|
|
| Train Surabaya - Semarang $ 3.68–44.79 2h 49m – 4h 37m | |
|
| Bus Tangerang - Semarang $ 26.25 9h 30m | |
|
| Bus Tangerang - Central Java $ 26.25 9h 25m | |
|
Frequently Asked Questions
You can book train, bus, flight, taxi, van, and ferry tickets from Surabaya to Semarang directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.
The cheapest way to travel is by Economy Class train, with tickets starting as low as $4. Some budget bus options are also available starting around $9, but the train generally offers the lowest price point for this route.
The fastest way to reach Semarang from Surabaya is by train, which can complete the journey in approximately 2 hours and 49 minutes. This is significantly quicker than most bus options, which typically take at least 4 hours.
By train, the journey takes between 2 hours 49 minutes and 4 hours 37 minutes. If you choose to travel by bus, the duration varies widely from 4 hours 15 minutes up to nearly 12 hours depending on the service and route.
Yes, several operators offer Suite Class or Luxury buses that feature high-quality reclining seats or pod-style configurations. These are excellent for travelers who want to rest comfortably during the 4 to 6 hour road journey.
The train route is quite pleasant, especially the sections that run close to the northern coastline. Travelers can enjoy views of the Java Sea on one side and lush rice paddies on the other, particularly during daytime departures.
Most trains to Semarang depart from Surabaya Pasarturi (SBI), which is the main station for the northern line. However, some services also depart from Surabaya Gubeng (SGU), so it is vital to check your ticket carefully before heading out.