Surabaya to Semarang

Four hours west along the north coast line from Surabaya Pasarturi to Semarang Tawang — the easy first half of the long run to Jakarta.
Which class to book
Ekonomi, ideally new-generation stock. Four flat hours does not justify the eksekutif premium.
Surabaya to Semarang

Roughly 280km separates Surabaya Pasarturi from Semarang Tawang, covered in three and a half to four and a half hours. It is the eastern half of Java's northern corridor and a straightforward daytime run.

Start at Pasarturi, not Gubeng. Trains on the north coast line leave from Surabaya Pasarturi. Gubeng serves the southern line through Madiun and Solo, and the two stations are a fair taxi ride apart, so check which one your ticket shows before you set off.

The line heads west across the coastal plain through Lamongan and Bojonegoro before reaching Semarang. Like the rest of this corridor it is flat and functional rather than scenic, but four hours passes quickly and departures are spread through the day.

Which trains run this route: the Anggrek (called the Argo Bromo Anggrek until May 2026) and Sembrani call at Semarang on their way to Jakarta, the Harina continues on to Bandung, and the Kertajaya and several other ekonomi services also cover the leg.

Why stop in Semarang: if you are heading for Jakarta, a night in Semarang splits an awkward eleven-hour trip into two comfortable halves and gives you the restored old town, Lawang Sewu and Tawang station itself, one of the finest colonial railway buildings still in use. From Tawang the Banyubiru runs inland to Solo in about two hours.

Check current departures and fares in Access by KAI. For the opposite direction, see Semarang to Surabaya.

Route details

Journey times vary by service and season. Confirm against current schedules before booking.

Departures Per Day
8
Destination City
Semarang
Destination Station
Semarang Tawang
Distance
280 km
Journey Time
3h 30m - 4h 30m
Ferry Connection
No
Named Trains
Anggrek (formerly Argo Bromo Anggrek), Sembrani, Harina, Kertajaya
Origin City
Surabaya
Origin Station
Surabaya Pasarturi
Overnight Service
No
Scenery
Functional - get some sleep
Service Status
Operating
Highest Class Available
Eksekutif

Fares

Indicative bands only. KAI adjusts fares by season and subclass, so treat these as a guide to the order of magnitude rather than a quote.

Fare Range (Ekonomi)
Rp 100-340k
Fare Range (Eksekutif)
Rp 300-580k
Fares Last Checked
Sep 8, 2026

Categories

From Surabaya

Last updated 20 Oct 2026

© Indonesia By Train 2026. All rights reserved