Rome2Rio

Semarang to Surabaya trains

Find Transport to Surabaya

See all options

Trip Overview

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.

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

Semarang to Surabaya train times

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.

Frequently asked questions

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.

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

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

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.

Operators