Travel Surabaya to Semarang

Surabaya to Semarang

Arrive in Semarang to explore the old port city’s Dutch colonial buildings, a contrast to Surabaya’s modern skyline. All standard transport options connecting Surabaya and Semarang are listed here, including combined, flight, bus or train.

Travel options for Surabaya to Semarang

On your journey from Surabaya to Semarang, take a train for 97612 IDR to save, or get there quicker with combined in 30 minutes.

Train from Surabaya to Semarang

Board the train at Surabaya Pasar Turi or Surabaya Gubeng and head toward Semarang, with a journey lasting about 2 hours 49 minutes. Fares start from 97,612 IDR, and your stop will be at Semarang Poncol or Semarang Tawang Bank Jateng. See available seats and secure your ticket in advance.

Prices: 97,612 IDR

Duration: 2h 49m – 4h 24m ⏱

Explore with train from Surabaya to Semarang in 2h 49m Book train from Surabaya to Semarang for 97612 IDR Travel with train from Surabaya to Semarang for 97612 IDR Hop on train from Surabaya to Semarang for 97612 IDR

View all Train tickets →

Bus from Surabaya to Semarang

If you're traveling from Surabaya to Semarang by bus, you can board at multiple stations, including Semeru Medeang Surabaya, Bungurasih, Surabaya, Terminal Purabaya Bungurasih, Surabaya, BSD Bumi Serpong Damai, Tangerang and others, with services running frequently throughout the day so you can pick a time that suits your schedule. The journey typically takes around 4 hours, providing a comfortable way to reach your destination, arriving at multiple stations, including Pool Majapahit Semarang, Semarang, Terminal Terboyo, Semarang, Banyumanik and others, with bus ticket prices starting from 150,000 IDR. Be sure to check availability and secure your seat in advance here to ensure a smooth and hassle-free trip.

Prices: 150,000 IDR

Duration: 4h – 12h 15m ⏱

Explore with bus from Surabaya to Semarang in 4h Go with bus from Surabaya to Semarang for 150000 IDR Ride with bus from Surabaya to Semarang for 150000 IDR Hop on bus from Surabaya to Semarang for 150000 IDR Explore with bus from Surabaya to Semarang for 150000 IDR Take bus from Surabaya to Semarang in 4h

View all Bus tickets →

Flight from Surabaya to Semarang

Travel from Surabaya to Semarang by flying out of SUB Surabaya Airport, East Java and completing the journey in around 55 minutes, with arrival at SRG Semarang Airport, Central Java. This option is ideal for covering long distances in less time, and flight fares usually start at 1,464,743 IDR. You can review available flights and booking options on the flight details page.

Prices: 1,464,743 IDR

Duration: 55m ⏱

Experience avia from Surabaya to Semarang in 0h 55m

View all Flight tickets →

Combined from Surabaya to Semarang

Combined transport services between Surabaya and Semarang depart from SUB Surabaya Airport, East Java and arrive at SRG Semarang Airport, Central Java, giving you multiple options to plan your trip. The journey usually lasts about 30 minutes, with tickets priced at 1,695,039 IDR. Make sure to secure your spot and explore the available routes here.

Prices: 1,695,039 IDR

Duration: 30m – 23h ⏱

Choose combined from Surabaya to Semarang for 1695039 IDR Explore with combined from Surabaya to Semarang in 0h 30m Choose combined from Surabaya to Semarang in 0h 30m Experience combined from Surabaya to Semarang for 1695039 IDR Choose combined from Surabaya to Semarang in 0h 30m

View all Combined tickets →

Distance Surabaya to Semarang

The distance between Surabaya and Semarang is 257 kilometers.

Surabaya to Semarang Transportation Comparison

Compare transport options side by side using key travel metrics to find the best way to get from Surabaya to Semarang

Train
Bus
Flight
Combined
Average price
400,725 IDR
342,197 IDR
1,464,743 IDR
2,368,445 IDR
Cheapest price
97,612 IDR
150,000 IDR
1,464,743 IDR
1,695,039 IDR
Average duration
3h 43m
6h 25m
0h 55m
7h 58m
Minimum duration
2h 49m
4h 00m
0h 55m
0h 30m
Number of departures
19
39
1
26
Tickets

Train Routes & Schedules from Surabaya to Semarang

- Travel by train from Surabaya Pasar Turi to Semarang Poncol, with journeys lasting approximately 3h 48m to 4h 22m. Rail services run from 06:15 until 23:00, and fares begin at 97,612 to 303,684 IDR.
- From Surabaya Pasar Turi, you can travel toward Semarang Tawang Bank Jateng by train. The ride usually lasts 2h 49m to 4h 10m. Rail services are scheduled from 05:25 until 22:10, and fares start at 97,612 to 726,672 IDR.
- From Surabaya Gubeng, you’ll board a train that travels for about 3h 39m to 4h 24m before reaching Semarang Tawang Bank Jateng. Departures are from 19:24 until 21:41, and fares start at 401,296 to 412,142 IDR.
- Leave Surabaya Gubeng for Semarang Poncol by train, with the journey taking about 4h 12m. Train services operate at 15:43, and fares are priced from 303,684 IDR.

Departure stations
Surabaya Pasar Turi
Surabaya Gubeng
Arrival stations
Semarang Poncol
Semarang Tawang Bank Jateng

Train Timetable: Surabaya Gubeng → Semarang Poncol

  • 15:43 19:55 4h 12m 303684 IDR

Train Timetable: Surabaya Gubeng → Semarang Tawang Bank Jateng

  • 19:24 23:03 3h 39m 401296 IDR
  • 21:41 02:05 4h 24m 412142 IDR

Train Timetable: Surabaya Pasar Turi → Semarang Poncol

  • 06:15 10:37 4h 22m 97612 IDR
  • 16:07 19:55 3h 48m 303684 IDR
  • 20:40 01:01 4h 21m 173533 IDR
  • 22:30 02:36 4h 6m 162687 IDR
  • 23:00 03:00 4h 173533 IDR

Train Timetable: Surabaya Pasar Turi → Semarang Tawang Bank Jateng

  • 05:25 09:07 3h 42m 596522 IDR
  • 06:15 10:25 4h 10m 97612 IDR
  • 07:50 11:01 3h 11m 683289 IDR
  • 09:10 11:59 2h 49m 726672 IDR
  • 12:05 15:20 3h 15m 704981 IDR
  • 15:00 18:52 3h 52m 314530 IDR
  • 17:45 21:23 3h 38m 238608 IDR
  • 19:45 23:03 3h 18m 401296 IDR
  • 20:15 23:25 3h 10m 683289 IDR
  • 21:15 00:04 2h 49m 726672 IDR
  • 22:10 02:05 3h 55m 412142 IDR

Check all Combined tickets →

Bus Routes & Schedules from Surabaya to Semarang

Between Surabaya and Semarang, this bus connection is served by several stations rather than a single fixed terminal. The exact travel time varies depending on where you board and exit the bus, but most trips take approximately 4h to 12h 15m. Services run throughout the day, operating from 05:25 until 21:30, and fares typically begin at 150,000 to 799,993 IDR. By checking the full bus timetable for Surabaya to Semarang, you can compare different station pairings, journey lengths and departure times to choose the option that best matches your travel plans.

Departure stations
Semeru Medeang Surabaya, Bungurasih
Surabaya
Terminal Purabaya Bungurasih, Surabaya
BSD Bumi Serpong Damai, Tangerang
Arrival stations
Pool Majapahit Semarang
Semarang
Terminal Terboyo, Semarang
Banyumanik

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Banyumanik

  • 15:15 03:30 12h 15m 309996 IDR

Bus Timetable: Semeru Medeang Surabaya, Bungurasih → Pool Majapahit Semarang

  • 18:00 22:00 4h 799993 IDR

Bus Timetable: Surabaya → Semarang

  • 05:25 17:30 12h 5m 213294 IDR
  • 06:30 11:35 5h 5m 368942 IDR
  • 07:00 11:35 4h 35m 368942 IDR
  • 07:45 19:30 11h 45m 213294 IDR
  • 08:00 12:45 4h 45m 360295 IDR
  • 08:30 13:40 5h 10m 368942 IDR
  • 08:45 13:30 4h 45m 360295 IDR
  • 09:00 13:45 4h 45m 360295 IDR
  • 09:15 20:50 11h 35m 213294 IDR
  • 10:30 15:40 5h 10m 368942 IDR
  • 11:00 15:40 4h 40m 368942 IDR
  • 11:15 23:00 11h 45m 213294 IDR
  • 12:30 17:40 5h 10m 368942 IDR
  • 13:00 17:40 4h 40m 368942 IDR
  • 14:30 20:15 5h 45m 360295 IDR
  • 15:00 21:45 6h 45m 360295 IDR
  • 15:05 19:40 4h 35m 368942 IDR
  • 15:15 01:00 9h 45m 213294 IDR
  • 16:00 22:45 6h 45m 360295 IDR
  • 16:30 22:30 6h 634119 IDR
  • 17:05 22:25 5h 20m 360295 IDR
  • 17:15 22:15 5h 360295 IDR
  • 17:45 23:00 5h 15m 360295 IDR
  • 18:30 23:30 5h 360295 IDR
  • 18:45 23:55 5h 10m 368942 IDR
  • 18:56 01:45 6h 49m 270941 IDR
  • 19:00 01:46 6h 46m 360295 IDR
  • 19:30 23:55 4h 25m 368942 IDR
  • 19:45 00:45 5h 498870 IDR
  • 20:30 01:15 4h 45m 360295 IDR
  • 20:45 01:55 5h 10m 368942 IDR
  • 21:20 01:55 4h 35m 368942 IDR
  • 21:30 02:15 4h 45m 360295 IDR

Bus Timetable: Terminal Purabaya Bungurasih, Surabaya → Terminal Terboyo, Semarang

  • 13:45 20:15 6h 30m 177070 IDR
  • 15:00 21:30 6h 30m 177070 IDR
  • 19:00 04:00 9h 150000 IDR
  • 21:00 06:00 9h 150000 IDR

Check all Bus tickets →

Flight Routes & Schedules from Surabaya to Semarang

Board your flight at SUB Surabaya Airport, East Java, the only nonstop service to Semarang. Flights operate at 09:00, and you’ll spend about 0h 55m in the air before landing at SRG Semarang Airport, Central Java. Fares start from 1,464,743 IDR, and you can check the full timetable for flights between Surabaya and Semarang to choose the departure that fits your schedule and reserve your seat in advance.

Departure stations
SUB Surabaya Airport, East Java
Arrival stations
SRG Semarang Airport, Central Java

Flight Timetable: SUB Surabaya Airport, East Java → SRG Semarang Airport, Central Java

  • 09:00 09:55 55m 1464743 IDR

Check all Flight tickets →

Combined Routes & Schedules from Surabaya to Semarang

Board at SUB Surabaya Airport, East Java for a flexible transfer across different vehicles en route to Semarang. The journey typically lasts 1h 45m to 23h, with departures scheduled from 05:05 until 20:50 and fares starting from 1,695,039 to 11,267,247 IDR. Arrival is at SRG Semarang Airport, Central Java, and reviewing the timetable for connections between Surabaya and Semarang ensures you pick the departure that suits your schedule.

Departure stations
SUB Surabaya Airport, East Java
Arrival stations
SRG Semarang Airport, Central Java

Combined Timetable: SUB Surabaya Airport, East Java → SRG Semarang Airport, Central Java

  • 05:05 09:35 4h 30m 1695039 IDR
  • 05:10 14:40 9h 30m 2303296 IDR
  • 05:35 12:30 6h 55m 1751356 IDR
  • 06:00 10:50 4h 50m 2163677 IDR
  • 06:10 14:55 8h 45m 1740629 IDR
  • 06:35 16:15 9h 40m 1727891 IDR
  • 07:05 17:00 9h 55m 11267247 IDR
  • 07:35 12:30 4h 55m 1806500 IDR
  • 07:40 12:30 4h 50m 2046713 IDR
  • 07:50 11:30 3h 40m 2262735 IDR
  • 08:30 14:55 6h 25m 1803651 IDR
  • 09:10 16:15 7h 5m 1783035 IDR
  • 10:10 14:55 4h 45m 1740629 IDR
  • 11:20 16:15 4h 55m 2057361 IDR
  • 11:25 16:15 4h 50m 1839016 IDR
  • 11:35 17:00 5h 25m 2303296 IDR
  • 14:10 21:00 6h 50m 1740629 IDR
  • 14:35 17:00 2h 25m 2303296 IDR
  • 15:15 17:00 1h 45m 2297765 IDR
  • 16:25 21:00 4h 35m 1803651 IDR
  • 16:30 17:00 30m 2303296 IDR
  • 17:00 07:05 14h 5m 1941212 IDR
  • 18:00 17:00 23h 2303296 IDR
  • 19:00 17:00 22h 2303296 IDR
  • 20:05 17:00 20h 55m 2303296 IDR
  • 20:50 07:05 10h 15m 1987750 IDR

Check all Combined tickets →

Frequently Asked Questions Surabaya to Semarang

Below you will find answers to the most common questions about traveling from Surabaya to Semarang.

How long does the Surabaya to Semarang route usually take?

Travel time on the Surabaya to Semarang route varies a lot by transport type and specific service. The fastest listed option is about 2 hours 49 minutes by train, while some bus services take around 11 hours 15 minutes. Flight-related services are also listed, but no duration is provided.

What is the cheapest way to travel from Surabaya to Semarang?

The cheapest option on the Surabaya to Semarang route is train travel, with fares starting at IDR 97,612. Bus tickets start at IDR 150,000, and the listed flight fare is higher at IDR 1,464,743. Prices vary by service and availability.

What is the price range for the Surabaya to Semarang route overall?

Across the listed services for Surabaya to Semarang, fares range from IDR 97,612 to IDR 11,267,247. The lower end is for train travel, while the highest combined fare reflects the full set of available services in the data.

Which transport is the fastest on the Surabaya to Semarang route?

The fastest clearly listed option on the Surabaya to Semarang route is train service, with the shortest trip taking about 2 hours 49 minutes. Bus journeys are longer, and the flight listing does not include a duration in the provided data.

Where do buses depart from and arrive at on the Surabaya to Semarang route?

Bus departures on the Surabaya to Semarang route are listed from places including Semeru Medeang Surabaya, Bungurasih, Surabaya, and Terminal Purabaya Bungurasih, Surabaya. Arrivals include Pool Majapahit Semarang, Semarang, Terminal Terboyo, Semarang, and Banyumanik.

Which train stations are used for the Surabaya to Semarang route?

Trains on the Surabaya to Semarang route depart from Surabaya Pasar Turi and Surabaya Gubeng. They arrive at Semarang Poncol or Semarang Tawang Bank Jateng, depending on the service. The exact station pair affects the journey time.

Are there flights available on the Surabaya to Semarang route, and what airports are used?

Yes, a flight option is listed for the Surabaya to Semarang route. It departs from SUB Surabaya Airport, East Java, and arrives at SRG Semarang Airport, Central Java. Only one flight is shown in the data, with a fare of IDR 1,464,743.

How often do services run on the Surabaya to Semarang route?

The data shows 39 bus trips, 19 train trips, 26 combined trips, and 1 flight on the Surabaya to Semarang route. Exact frequency in minutes is not provided, so the schedule is best understood by the number of listed departures rather than a fixed interval.

What are the first and last departures for the Surabaya to Semarang route?

For the Surabaya to Semarang route, the earliest listed departure is 05:05 and the latest is 23:00. Bus services run from 05:25 to 21:30, train services from 05:25 to 23:00, and the listed flight departs at 09:00.

Why does travel time vary so much on the Surabaya to Semarang route?

Travel time varies because the route includes different transport types and different station pairs. Train services range from about 2 hours 49 minutes to 4 hours 24 minutes, while bus services range from about 4 hours to 12 hours 15 minutes.

Which train pair is the quickest on the Surabaya to Semarang route?

The quickest train pairing on the Surabaya to Semarang route is Surabaya Pasar Turi to Semarang Tawang Bank Jateng. It takes about 2 hours 49 minutes at the shortest end of the listed range, which is faster than the other train combinations shown.

If I want to book the Surabaya to Semarang route, where should I look?

For booking the Surabaya to Semarang route, use TicketRoutes.com. The route is listed there with the available transport options and fares, which makes it easier to compare the train, bus, and flight services in one place.

Explore transport routes across Indonesia

Route finder

Browse the map to discover how cities, airports, and ferry terminals are connected throughout Indonesia. Compare travel options between destinations and find available bus, train, ferry, and flight services.


More travel routes for Surabaya and Semarang

Planning more stops after Surabaya to Semarang?

If your journey doesn’t end with Surabaya to Semarang, use the TicketRoutes Travel Planner to build a complete multi-city itinerary. Compare buses, trains, ferries, and flights for several destinations at once — faster and easier.

Try the Travel Planner

Perfect for travelers visiting multiple cities on one trip.