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 ⏱
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 ⏱
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 ⏱
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 ⏱
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.
Cheapest Train Surabaya to Semarang
97612 IDR, from Surabaya Pasar Turi to Semarang Tawang Bank Jateng, departure at 06:15, duration 4h 10mFastest Train Surabaya to Semarang
726672 IDR, from Surabaya Pasar Turi to Semarang Tawang Bank Jateng, departure at some times, duration 2h 49mTrain 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
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.
Cheapest Bus Surabaya to Semarang
150000 IDR, from Terminal Purabaya Bungurasih, Surabaya to Terminal Terboyo, Semarang, departure at some times, duration 9hFastest Bus Surabaya to Semarang
799993 IDR, from Semeru Medeang Surabaya, Bungurasih to Pool Majapahit Semarang, departure at 18:00, duration 4hBus 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
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.
Cheapest Flight Surabaya to Semarang
1464743 IDR, from SUB Surabaya Airport, East Java to SRG Semarang Airport, Central Java, departure at 09:00, duration 55mFlight Timetable: SUB Surabaya Airport, East Java → SRG Semarang Airport, Central Java
- 09:00 09:55 55m 1464743 IDR
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.
Cheapest Combined Surabaya to Semarang
1695039 IDR, from SUB Surabaya Airport, East Java to SRG Semarang Airport, Central Java, departure at 05:05, duration 4h 30mFastest Combined Surabaya to Semarang
2297765 IDR, from SUB Surabaya Airport, East Java to SRG Semarang Airport, Central Java, departure at 15:15, duration 1h 45mCombined 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
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
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 PlannerPerfect for travelers visiting multiple cities on one trip.