The average train between Semarang and Surabaya takes 3h 47m and the fastest train takes 2h 52m. The train service runs several times per day from Semarang to Surabaya. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 2 hours between Semarang and Surabaya. The earliest departure is at 12:38 AM at night, and the last departure from Semarang is at 3:58 PM which arrives into Surabaya at 8:10 PM. All services run direct with no transfers required, and take on average 3h 47m. The schedules shown below are for the next available departures.
Want to know about travelling from Semarang to Surabaya? 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.
Yes, there is a direct train departing from Semarang station and arriving at Surabaya station. Services depart every 2 hours, and operate Once daily. The journey takes approximately 3h 47m.
Semarang to Surabaya train services, operated by Kereta API, depart from Semarang Tawang station.
Semarang to Surabaya train services, operated by Kereta API, arrive at Surabaya Pasar Turi station.
Book your Semarang to Surabaya train tickets online with Kereta API.
The distance between Semarang and Surabaya is 258.7 km. The road distance is 279 km.
Kereta API operates a train from Semarang Tawang to Surabaya Pasar Turi every 3 hours. Tickets cost Rp 160,000–330,000 and the journey takes 2h 53m.