Rome2Rio

Surabaya to Semarang trains

Find Transport to Semarang

See all options

Trip Overview

The average train between Surabaya and Semarang takes 3h 42m and the fastest train takes 2h 59m. The train service runs several times per day from Surabaya to Semarang. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.

3h 42m
Duration
279 km
Distance
Rp 320,000
Average price
Every 2 hours
Frequency

Surabaya to Semarang train times

Trains run every 2 hours between Surabaya and Semarang. The earliest departure is at 5:50 AM in the morning, and the last departure from Surabaya is at 11:00 PM which arrives into Semarang at 2:31 AM. All services run direct with no transfers required, and take on average 3h 42m. The schedules shown below are for the next available departures.

Frequently asked questions

Want to know about travelling from Surabaya to Semarang? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.

Map of how to get from Surabaya to Semarang.ExpandLaunch map view
  • Distance: 278.7 km
  • Duration: 3h 42m

What companies run services between Surabaya, Indonesia and Semarang, Indonesia?

Kereta API operates a train from Surabaya Pasar Turi to Semarang Tawang every 3 hours. Tickets cost Rp 160,000–330,000 and the journey takes 4h 9m.

Operators