Skip to main content
<< Back to Surabaya posts

Surabaya Getting There: Flights, Trains, Buses & Ferries

Preview image for the video "NEW❗️Tutorial Cara Masuk Terminal Bus BUNGURASIH Surabaya Sidoarjo❗️Apakah Masih Tiit Scan Barcode❔️".
NEW❗️Tutorial Cara Masuk Terminal Bus BUNGURASIH Surabaya Sidoarjo❗️Apakah Masih Tiit Scan Barcode❔️

Surabaya is one of East Java’s main transport hubs and one of Indonesia’s major cities, so the best route depends on where you start, how much luggage you have, and whether you value speed, price or comfort most. Use the overview below to choose your first option, then confirm current timetables with the airline, rail operator, bus company or ferry operator before you commit to separate connections.

Quick Decision Guide for Getting to Surabaya

For Surabaya getting there planning, start by choosing the right arrival gateway: Juanda International Airport for most flights, the correct Surabaya railway station for Java overland travel, Purabaya or Bungurasih for long-distance buses, and Tanjung Perak for sea arrivals.

Best route by traveler type and origin

For most overseas travelers, the easiest way to get to Surabaya is to fly into Juanda International Airport (SUB), either directly where available or through a larger regional or Indonesian hub. Jakarta is the most common international gateway for many visitors to Indonesia, and it offers frequent onward options by air and rail. Travelers already on Java often find trains more comfortable and predictable than buses, especially between Yogyakarta, Central Java and Surabaya.

If you are coming from Bali or eastern Indonesia, flying is often the simplest choice when schedules and fares are reasonable. If you are coming from Malang, Mount Bromo areas or nearby East Java towns, road or rail planning is usually more relevant than flying. Sea travel can be useful for some domestic island routes, but it is rarely the easiest default for first-time international visitors.

ModeBest use caseConvenienceWhat to verify
FlightOverseas arrivals, Jakarta, Bali, other islandsFastest for long distancesTerminal, baggage, arrival time
TrainJakarta, Yogyakarta, Central Java, Bandung routesComfortable city-to-city travelStation name, class, ticket ID details
BusBudget travel or towns not well served by railFlexible but less predictableTerminal, operator, arrival point
Private carGroups, Bromo, Malang or complex East Java tripsFlexible and door-to-doorVehicle, tolls, fuel, waiting time
SeaDomestic island connectionsSlow and schedule-dependentPassenger service status and port transfers

Main arrival gateways in Surabaya

The main air gateway is Juanda International Airport (SUB), located in the Surabaya metropolitan area near Sidoarjo. It is the practical entry point for most travelers arriving by air, but it is not in the central business area, so you should plan a transfer to Central Surabaya, Tunjungan Plaza, your hotel or your onward station.

Surabaya has several railway stations. Surabaya Gubeng Station and Surabaya Pasar Turi Station are the names most long-distance visitors are likely to see on intercity rail tickets, while Surabaya Kota Station is a historic local station that may appear on some services. For buses, the key long-distance terminal is Purabaya Bus Terminal, also known as Bungurasih Bus Terminal, in the southern side of the metropolitan area near Waru. For sea arrivals, Tanjung Perak Port is the main maritime gateway, but passenger ship and ferry availability should always be checked close to travel.

Getting to Surabaya by Air

Flying is the simplest route for many travelers because Surabaya is far from Indonesia’s western gateways and is separated by sea from many domestic island origins. The important planning point is not only the flight itself, but the total door-to-door journey from your starting city to Central Surabaya.

Juanda International Airport basics

Juanda International Airport, airport code SUB, is the main airport serving Surabaya. The official Juanda International Airport site lists the airport address in the Surabaya area and separate contact numbers for Terminal 1 and Terminal 2, which is a useful reminder that travelers should check their ticket for the correct terminal.

Preview image for the video "PANDUAN BANDARA JUANDA SURABAYA : DARI MASUK HINGGA CEK TIKET".
PANDUAN BANDARA JUANDA SURABAYA : DARI MASUK HINGGA CEK TIKET

Terminal use can change by airline and route, so do not rely only on old travel forum information. Before you travel, confirm your airline, terminal, check-in time and baggage rules. If you are connecting from an international flight through Jakarta, Singapore, Kuala Lumpur or another hub, leave enough time for immigration, baggage collection and possible terminal changes at the connecting airport.

Juanda is near Sidoarjo rather than in the middle of Central Surabaya. This means the final transfer can be easy when planned, but stressful if you arrive late without a clear ride. If your hotel is near Tunjungan Plaza or another central landmark, check the expected travel time at your arrival hour and not only the map distance.

Domestic and regional flight options

From Jakarta, flying is usually the fastest way to reach Surabaya in pure travel time. However, the real comparison should include travel to the airport, check-in, security, baggage claim and the transfer from Juanda into the city. For travelers staying near a Jakarta airport or connecting from an international flight, air travel is often very convenient. For travelers already near a railway station in Jakarta, the train may be more attractive than it first appears.

From Bali, flights to Surabaya are often the simplest route when available at a good fare. They avoid a long combined overland and ferry journey and can make sense for travelers who want to use Surabaya as a base for East Java, Mount Bromo or onward travel. From eastern Indonesia, Surabaya often functions as a useful hub, but direct services and connection patterns depend on current airline schedules.

Regional international access may be possible through hubs such as Singapore or Kuala Lumpur, depending on the season and airline networks. Treat these as route-planning examples rather than guaranteed direct services. Compare baggage allowance carefully, especially on low-cost carriers, because a cheap ticket can become less attractive if you need to add checked baggage, seat selection or a tight connection buffer.

From the airport to central Surabaya

The main onward options from Juanda to Central Surabaya are official taxis, app-based ride-hailing where available, private transfers and airport buses. A transfer guide by Welcome Pickups describes bus service as a lower-cost option and taxis or transfers as more direct choices, but travelers should still confirm current pickup points, hours and fares when they arrive.

Preview image for the video "Alternatif Transportasi Umum dari Bandara Juanda menuju Tunjungan Plaza/sekitar Jalan Basuki Rahmat".
Alternatif Transportasi Umum dari Bandara Juanda menuju Tunjungan Plaza/sekitar Jalan Basuki Rahmat

Choose your airport transfer based on your arrival time and comfort level. If you arrive during the day with light luggage, a bus or app ride may be practical. If you arrive late, travel with children, carry heavy bags or are staying in a less familiar district, an official taxi counter or pre-booked private transfer is usually simpler. First-time visitors should avoid accepting vague ride offers from people who cannot clearly explain the price, destination and vehicle.

If you need to continue by train or bus after landing, check whether your next departure leaves from Surabaya Gubeng Station, Surabaya Pasar Turi Station or Purabaya or Bungurasih Bus Terminal. These places are not interchangeable, and crossing the city can take longer than expected during traffic peaks.

Getting to Surabaya by Train

Rail is one of the best ways to get to Surabaya from many cities on Java. Trains can be slower than flying from Jakarta, but they offer city-to-city travel, assigned seating on many services and a more comfortable experience than many long-distance buses.

Choosing between Surabaya Gubeng, Pasar Turi and Kota stations

Surabaya has more than one station, so the most important rule is simple: read the exact station name on your ticket. Do not tell a driver only “Surabaya station” if your ticket says Surabaya Gubeng or Surabaya Pasar Turi. For accommodation planning, choose your hotel or transfer route based on the actual arrival station.

Preview image for the video "Surabaya Gubeng - Surabaya Pasar Turi | Keunikan jalur di kota Surabaya".
Surabaya Gubeng - Surabaya Pasar Turi | Keunikan jalur di kota Surabaya

Surabaya Gubeng Station is a major station often used for important intercity routes, including services associated with southern and central Java corridors. Surabaya Pasar Turi Station is important for routes on the northern side of Java and is often relevant for Jakarta services. Surabaya Kota Station, also known locally as Semut, is a historic station and may be useful for some local or limited services, but most visitors should not assume it is their long-distance arrival point unless their ticket clearly says so.

StationTypical role for visitorsPlanning tip
Surabaya Gubeng StationMajor intercity rail gatewayCommonly useful for Central Java and southern route planning
Surabaya Pasar Turi StationMajor intercity rail gatewayOften relevant for northern Java and Jakarta route planning
Surabaya Kota StationHistoric and local station contextUse only if your ticket or route clearly lists it

Main rail corridors from Jakarta, Yogyakarta and Bandung

Jakarta to Surabaya is a long but practical rail route for travelers who prefer city-center travel and do not mind spending more time on the journey. It can be attractive if you want to avoid airports, carry luggage more comfortably or experience an overland crossing of Java. Before choosing it, compare the departure station in Jakarta, the arrival station in Surabaya, seat class and arrival hour.

Yogyakarta to Surabaya is one of the most useful train routes for visitors crossing Java overland. The distance is more manageable than Jakarta to Surabaya, and rail often gives a good balance of comfort and convenience. If your itinerary continues to Mount Bromo, Malang or another East Java destination, plan that next leg before arrival so you do not lose time deciding at the station.

Bandung to Surabaya can also be possible by rail planning, but route convenience and duration vary by service and connection pattern. For Bandung, compare rail against flying from nearby airports or routing through another city, especially if your travel date has limited seats.

Booking train tickets and choosing a class

Indonesian intercity trains generally require advance ticketing with passenger details that match your ID or passport. For foreign travelers, it is wise to enter your name in the same order and spelling as your travel document. Bring the same document to the station in case staff need to check it.

Train classes vary by service, but broad categories such as economy, business and executive usually reflect differences in seat comfort, space and price. Do not assume every class is identical across all trains. When comfort matters, read the seat type and train details rather than booking by class name only.

Book earlier for popular routes, weekends, school holidays and major Indonesian holiday periods. Arrive at the correct station with enough time for ticket checks and boarding procedures. If your train arrives late at night, decide in advance whether you will use an official taxi, app ride or pre-arranged pickup to reach your accommodation.

Getting to Surabaya by Bus or Road

Buses and road transport are useful when you need flexibility, a lower fare or a direct connection from a town without convenient rail service. They can also be less predictable than trains because road conditions, congestion and holiday traffic affect travel time.

Purabaya and Bungurasih Bus Terminal

Purabaya Bus Terminal, commonly called Bungurasih, is the key long-distance bus terminal serving many Surabaya-area arrivals. It is especially relevant for travelers coming from other cities in Java or connecting onward by bus. Booking platforms such as Easybook list Bungurasih Bus Station with multiple operators, which reflects the range of bus companies and route options travelers may encounter.

Preview image for the video "NEW❗️Tutorial Cara Masuk Terminal Bus BUNGURASIH Surabaya Sidoarjo❗️Apakah Masih Tiit Scan Barcode❔️".
NEW❗️Tutorial Cara Masuk Terminal Bus BUNGURASIH Surabaya Sidoarjo❗️Apakah Masih Tiit Scan Barcode❔️

When searching for tickets, check both names: Purabaya and Bungurasih. Some listings use one name, some use the other, and some may show nearby pickup or drop-off points rather than the main terminal. Always confirm the departure city, arrival terminal, operator name, boarding location and whether the bus stops before reaching Surabaya.

The terminal is not the same as a central hotel area. If you arrive at Bungurasih with luggage, plan a separate transfer to Central Surabaya, Tunjungan Plaza, your accommodation or a railway station. At busy times, allow extra time for traffic between the terminal, Waru and central districts.

Long-distance buses across Java

Buses make sense when you are traveling on a strict budget, need a late departure, or start from a town that has a direct bus but no convenient train. They can also be useful for travelers who want one vehicle from a smaller city to the Surabaya area. Comfort varies widely, from basic services to more comfortable intercity coaches.

Compared with trains, buses are usually less predictable on long routes such as Jakarta to Surabaya or Yogyakarta to Surabaya. Congestion, road works, weather and holiday peaks can add time. For many visitors, the train is the better default where a convenient rail route exists. Choose a bus when route flexibility, fare or schedule matters more than predictability.

Use reputable operators and clear booking channels when possible. Avoid unclear roadside offers that do not specify the vehicle, destination or price. If you board at a terminal, keep your ticket and luggage receipt if provided, and confirm whether your large bag goes under the bus or stays with you.

Private car, hired driver and self-drive considerations

A private car with a hired driver can be useful for East Java itineraries linking Surabaya with Malang, Mount Bromo access towns, nearby villages or business locations. It is usually more expensive than a bus, but it gives more control over pickup time, luggage, stops and final destination. For groups, the cost difference may be reasonable when split among several travelers.

Before agreeing to a private road transfer, confirm the pickup point, exact destination, vehicle type, driver waiting time, tolls, parking, fuel and whether the price is fixed. If you are traveling to an early Bromo departure or a late-night hotel arrival, written confirmation through a booking app, hotel or recognized operator can reduce confusion.

Self-driving is possible in principle, but many foreign visitors find it stressful. Traffic density, local driving habits, motorbikes, toll roads and navigation decisions can be challenging if you are unfamiliar with Indonesian roads. Unless you are experienced in similar conditions and properly licensed, a hired driver is often a safer and easier choice for short-term travel.

Getting to Surabaya by Sea

Sea travel is part of Indonesia’s transport network, but it is a specialist choice for most visitors to Surabaya. It can be useful for domestic island travel, cargo-linked routes or travelers who specifically want a sea journey, but it usually requires more flexibility than flights or trains.

Tanjung Perak Port as a maritime gateway

Tanjung Perak Port is Surabaya’s main maritime gateway. It is more important for domestic maritime links than for typical international tourist arrivals. If you are coming from another Indonesian island and a passenger service is operating on your route, the port may be the relevant arrival point.

Do not assume that every ferry or passenger ship route shown on an old website is currently running in a convenient way. Passenger operations can depend on operator decisions, vessel maintenance, demand and port conditions. If you arrive at Tanjung Perak, plan a transfer onward to your accommodation, railway station or bus terminal rather than expecting the port to function like a central tourist arrival zone.

Passenger ship and ferry schedule uncertainty

Ferry and passenger ship schedules can change for operational and weather-related reasons. This does not mean sea travel is impossible, but it does mean you should not build a tight itinerary around an unconfirmed sailing. Verify the service directly with the ferry or ship operator, a port information channel or a trusted local booking office before relying on it.

If you arrive by sea and need to connect to a train, flight or bus from Surabaya, allow a generous buffer. Separate tickets are your responsibility, and a delayed ship may not protect your onward booking. Sea travel works best when your schedule is flexible and you can accept a slower arrival.

Arrival Transfers, Timing and Common Traveler Traps

Getting to Surabaya does not end when your plane, train, bus or ship arrives. The last-mile transfer can decide whether your arrival feels easy or confusing, especially after dark or with luggage.

Safe last-mile transport from gateways

From Juanda International Airport, Surabaya Gubeng Station, Surabaya Pasar Turi Station, Purabaya or Bungurasih Bus Terminal and Tanjung Perak Port, the safest and easiest last-mile options are usually official taxis, traceable app-based rides where available, hotel pickups or pre-booked transfers. Public buses may be cheaper in some cases, but they are less convenient if you arrive late, carry large bags or do not know the city.

OptionBest forMain caution
Official taxiFirst-time arrivals and luggageConfirm meter or fixed price before departure
Ride-hailingPrice visibility and traceable routeFind the correct pickup zone
Private transferLate arrivals, families and groupsConfirm driver details in advance
Public busBudget daytime travelCheck current hours and stops

The cheapest option is not always the best after a long journey. If you are tired, arriving after dark or continuing to another city early the next morning, paying more for a clear and traceable transfer can be worth it.

Late-night arrivals and connection buffers

Late-night arrivals need extra planning because public transport options may be fewer, counters may be harder to navigate, and traffic patterns can still be unpredictable. Before booking a late flight or bus, check whether you can still reach your hotel safely and whether your accommodation allows late check-in.

If you are connecting from Juanda to a train station, from a train station to Bungurasih, or from Tanjung Perak to the airport, avoid tight separate-ticket connections. Allow time for baggage, traffic, ticket checks and finding the correct platform or pickup area. This is especially important if you are continuing to Bromo, Malang or another East Java destination where early departures are common.

For very early onward connections, consider staying near the relevant gateway or choosing a central hotel with reliable transport access. A short night in Surabaya is often less stressful than trying to cross the city in the early morning without a confirmed ride.

Avoiding touts, overcharging and confusing pickups

Surabaya is not unusually difficult for travelers, but busy gateways can attract informal transport offers. Problems usually involve unclear prices, unmetered rides, confusing pickup zones or people offering to carry luggage without agreement. A few simple actions reduce most issues.

Use official counters, app rides or pre-booked drivers when possible. If you use a non-app taxi or private vehicle, agree on the price, route and destination before you get in. Keep your bags with you until you know who is handling them, and do not hand luggage to unofficial helpers unless you have clearly agreed on the service and cost.

At stations and terminals, step aside from the crowd before opening maps or booking apps. This gives you time to check the destination, vehicle plate number and pickup point without pressure. If a situation feels unclear, return to a staffed counter, security post or well-lit public area.

Sample Routes to Surabaya from Major Gateways

The examples below show how to think about common routes. They are not fixed schedules. Always compare current departures, prices, arrival points and connection buffers for your specific travel date.

From Jakarta to Surabaya

From Jakarta, the two most practical choices are flying and taking the train. Flying is usually fastest for travelers connecting through Jakarta’s airports or those who need to reach Surabaya quickly. The train is a strong alternative for travelers who prefer city-center departure and arrival, want a more relaxed overland journey, or do not want to manage airport transfers at both ends.

Buses from Jakarta to Surabaya can be cheaper or useful for specific schedules, but the road journey is long and more exposed to congestion. For many visitors, buses are a secondary option unless the fare, timing or pickup location is clearly better. Compare the total door-to-door journey, not only the ticket price.

If Jakarta is your first entry point to Indonesia, check whether it is better to book a through-ticket to Surabaya or a separate domestic ticket after a longer buffer. Separate tickets may save money, but they also increase the risk if your international flight is delayed.

From Yogyakarta or Central Java to Surabaya

From Yogyakarta or much of Central Java, the train is often the strongest default option. It gives a comfortable overland route, avoids airport procedures and usually brings you directly into a Surabaya rail station. For travelers crossing Java from west to east, this is one of the most practical ways to reach East Java.

Buses can still be useful for lower fares, late departures or towns away from the rail line. However, road travel may be less predictable and less comfortable, especially if you are sensitive to long hours in traffic. If you choose the train, check whether you arrive at Surabaya Gubeng, Pasar Turi or another station before booking your hotel or onward ride.

If your next destination is Bromo or Malang, do not wait until arrival to decide the next leg. Check whether your onward route is better by train, bus, private car or tour pickup, and allow time between arrivals and departures.

From Bali, Malang or eastern Indonesia to Surabaya

From Bali, flying is often the simplest route to Surabaya when the fare and schedule fit. Overland bus-ferry combinations may be possible, but they can be long, tiring and variable in comfort. They suit budget travelers with flexible time better than travelers on a short itinerary.

From Malang, Surabaya is close enough for road or rail planning. A private car or train may be more practical than looking for a flight, depending on your exact starting point and destination in Surabaya. If you are using Surabaya as the gateway for Mount Bromo, plan carefully because many Bromo itineraries involve very early pickups and long road transfers.

From eastern Indonesia, Surabaya can be a useful hub for onward travel across Java or to other islands. Flights are usually the most convenient starting point, while sea routes require more schedule flexibility. Check whether your arrival at Juanda, Tanjung Perak or another gateway gives you the best onward connection for your next stop.

Frequently Asked Questions

What is the easiest way to get to Surabaya from overseas?

The easiest way is usually to fly to Juanda International Airport (SUB), either directly if a suitable route exists or through a hub such as Jakarta, Singapore or Kuala Lumpur. Check current routes and allow enough time for immigration, baggage and domestic connections.

Which Surabaya train station should I choose?

Choose the station printed on the best train for your route, not only the closest station on a map. Surabaya Gubeng and Surabaya Pasar Turi are the main names many long-distance travelers see, while Surabaya Kota is more route-specific.

Is there public transport from Juanda International Airport to central Surabaya?

Airport buses may be available and can be a lower-cost option, but hours, stops and pickup points can change. If you arrive late or have heavy luggage, an official taxi, ride-hailing service or pre-booked transfer is usually easier.

Are ferries to Surabaya reliable for travelers?

Passenger ships and ferries can be useful for some domestic routes, but schedules may change because of operations, maintenance, demand or sea conditions. Verify the service directly before building your itinerary around a sea arrival.

Should I fly or take the train from Jakarta to Surabaya?

Fly if speed and easy airport connections matter most. Take the train if you prefer city-center travel, a more relaxed overland journey and avoiding airport procedures. Compare total door-to-door time, not only flight time or train time.

Final Checklist Before You Travel to Surabaya

Before you book, choose the gateway that matches your route: Juanda International Airport for most air arrivals, Surabaya Gubeng or Surabaya Pasar Turi for many train routes, Purabaya or Bungurasih for long-distance buses, and Tanjung Perak for sea arrivals. Check the exact terminal, station or port name on every ticket, and plan your transfer into Central Surabaya before you arrive.

For international travel, review passport, visa and entry-document requirements with an official source such as the U.S. Department of State or your own government’s travel advice. Requirements can vary by nationality and may change, so do this before paying for non-refundable tickets.

The best route to Surabaya is usually simple once you compare speed, comfort, cost and arrival logistics. Fly for long distances and overseas connections, take the train for comfortable travel across Java, use buses when flexibility or budget matters, and choose sea travel only with current schedule confirmation. With the right gateway and a planned last-mile transfer, arriving in Surabaya can be efficient, safe and easy to manage.

Select area