Semarang
Semarang
Surabaya
Surabaya
Train Driving

Semarang to Surabaya

Updated: 28 May 2026

The journey from Semarang to Surabaya covers approximately 350 kilometers along the northern coast of Java. You can take the train, which is a comfortable 5-hour ride, or drive via the Trans-Java Toll Road. Surabaya is the second-largest city in Indonesia and a major industrial hub. The route is well-connected, making it easy for travelers to move between these two major cities. Whether you prefer the convenience of the train or the flexibility of driving, this route is straightforward.

Total Distance: 350 km driving distance, 300 km straight-line air distance.
Fastest Way
Driving via the toll road is the fastest, taking about 4.5 hours.
Cheapest Way
The train is the most economical, with economy class tickets starting at IDR 150,000.
Compare Semarang to Surabaya Routes
Train
Direct
Driving
Direct
Duration 5 hours 4 hours 30 mins
Avg Price IDR 150,000 - 400,000 IDR 250,000 (fuel + toll)
Operator Sembrani Private Car
Route Semarang Tawang - Surabaya Pasar Turi Semarang - Demak - Tuban - Gresik - Surabaya (Trans-Java Toll Road)
Tip The train is the most comfortable way to travel, offering plenty of legroom and scenic views. The toll road is very fast; ensure you have enough balance on your e-toll card.
Travel Tips
  • Train Station
    Surabaya Pasar Turi is the main station for trains coming from Semarang.
  • Toll Road
    The Trans-Java Toll Road is very efficient; keep your e-toll card ready.
  • Local Food
    Try the famous Rawon, a black beef soup that is a signature dish of East Java.
  • Booking
    Book your train tickets online to secure your preferred seat.
  • Transport
    Use ride-hailing apps like Gojek or Grab for easy and safe transport within Surabaya.
Safety Tips
  • Driving
    Be careful of heavy traffic near the entrance to Surabaya.
  • Public Transport
    Stick to official taxis or ride-hailing apps for your safety.
  • Valuables
    Keep your belongings secure in crowded areas like markets.
  • Emergency
    Save the local emergency numbers in your phone before you arrive.
People Also Ask
  • How long is the train from Semarang to Surabaya?
    The train journey takes about 5 hours.
  • Is there a toll road between Semarang and Surabaya?
    Yes, the Trans-Java Toll Road connects the two cities.
  • What is the best way to travel to Surabaya?
    The train is generally considered the most comfortable and reliable option.
  • Are there buses from Semarang to Surabaya?
    Yes, frequent bus services operate from Terboyo Terminal to Bungurasih Terminal in Surabaya.
  • How much is the train ticket?
    Prices range from IDR 150,000 to IDR 400,000 depending on the class.
Quick Info
  • From Semarang, Jawa Tengah, Indonesia
  • To Surabaya, Jawa Timur, Indonesia
  • Modes
Best Time to Travel

May to September, as the weather is dry and ideal for exploring Surabaya's outdoor attractions.

Things to Do in Surabaya
1
House of Sampoerna
A museum dedicated to the history of the clove cigarette industry in Indonesia. It features a beautiful colonial-style building and a guided tour.
2
Suramadu Bridge
The longest bridge in Indonesia, connecting Java to Madura Island. It is a marvel of engineering and offers great views of the sea.
3
Submarine Monument
A real Russian-made submarine that has been converted into a museum. It is a unique attraction located in the heart of the city.
4
Tunjungan Plaza
A massive shopping complex that is a hub for fashion, dining, and entertainment in Surabaya.
Tags
Semarang to Surabaya train Semarang to Surabaya bus travel Semarang to Surabaya Surabaya transport how to get to Surabaya train to Surabaya Semarang to Surabaya distance best way to Surabaya