The cheapest and fastest trains from Semarang to Surabaya
Cheapest price
$20
Average price
$20
Fastest journey
2 h 52 m
Average duration
3 h 19 m
Trains per day
5
Distance
259 km
The best way to find a cheap train ticket from Semarang to Surabaya is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Semarang to Surabaya will cost around $20 if you buy it on the day, but the cheapest tickets can be found for only $20.
Of the 5 trains that leave Semarang for Surabaya on Thu, Jan 15, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Thu, Jan 15 the direct trains cover the 259 km distance in an average of 3 h 19 m but if you time it right, some trains will get you there in just 2 h 52 m .
On Thu, Jan 15 the slowest trains will take 4 h 3 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.










Travel Information
Compare train, bus, and flight for Semarang to Surabaya
Omio recommends booking the bus as it is the most popular option from Semarang to Surabaya among Omio's users. If you are prioritising price take the bus with prices starting from €9. For those with little time consider booking a flight which can get you there in 3h 9m. The ticket price range depends on the travel mode: a bus costs an average of €9, and a flight costs an average of €37.
Distance: 160 miles (259 km)
Compare train with
| Train | Most popular Bus | Flight |
|---|---|---|
€16 Average price | €10 Average price Cheapest | €70 Average price |
4h 18m Average total duration 3h 48m Onboard + 30m Additional time* | 5h 56m Average total duration 5h 26m Onboard + 30m Additional time* | 6h 9m Average total duration Fastest 3h 9m Onboard + 3h 0m Additional time* |
Direct Options | Direct Options | Direct Options |
Live departures
Semarang to Surabaya train times
The table below shows live departures for Semarang to Surabaya trains for tomorrow, Thursday, January 15. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
![]() | 12:38 AM Semarang Tawang | 3h33 | 4:11 AM Surabaya Pasar Turi | 0 transfersDirect | |
![]() | 1:22 AM Semarang Tawang | 2h53 | 4:15 AM Surabaya Pasar Turi | 0 transfersDirect | |
![]() | 3:53 AM Semarang Tawang | 4h05 | 7:58 AM Surabaya Pasar Turi | 0 transfersDirect | |
![]() | 4:21 AM Semarang Tawang | 4h04 | 8:25 AM Surabaya Pasar Turi | 0 transfersDirect | |
![]() | 8:31 AM Semarang Tawang | 4h24 | 12:55 PM Surabaya Pasar Turi | 0 transfersDirect |
Find all the dates and times for this journey
Compare prices and tickets Semarang to Surabaya by train, bus, or flight
Compare train, bus, and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Jan 15
Jan 16
Jan 17
Jan 18
Jan 19
Jan 20
Jan 21
Why should you book Semarang to Surabaya trains with Omio?
Kereta API operates all train services from Semarang to Surabaya. Omio is the only official third party seller for Kereta API tickets.
Why book with Omio vs Kereta API?
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Kereta API with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Semarang to Surabaya.
Why book with Omio over Trainline and Rail Europe?
- Official reseller: Kereta API tickets can only be bought on Omio or Kereta API's website as Omio is the only official third party seller for Kereta API tickets. Trainline, RailEurope, and Rail.Ninja do not sell Kereta API tickets as they are not official sellers.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Semarang to Surabaya.
Journey information
Overview: Train from Semarang to Surabaya
Trains from Semarang to Surabaya run on average 10 times per day, taking around 3h 48m. Cheap train tickets for this journey start at $20 (€16) but you can travel from only $11 (€9) by bus.
There are 10 trains per day. The earliest train runs at 05:50, the last at 23:00. The fastest train covers the 160 miles (259 km) distance in 2h 52m.
Distance 160 miles (259 km) |
Average train duration 3h 48m |
Cheapest ticket price $20 (€16) |
Trains per day 10 |
Direct trains 10 |
Fastest train 2h 52m |
First train 05:50 |
Last train 23:00 |
Train companies: Kereta API from Semarang to Surabaya trainsKereta API trains will get you between Semarang and Surabaya from $11 (€9). With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Kereta API
FAQs: Trains from Semarang to Surabaya
Find answers to the most common questions about traveling from Semarang to Surabaya by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Surabaya, this guide helps you travel smarter and with confidence.

More options for your journey from Semarang to Surabaya
Here are some other resources that might have the information you need
