Entrance to Gambir railway station in Jakarta
Java

Jakarta to Surabaya by train: the overnight and daytime options

Java's longest mainline run takes most of a day or a full night. The train is still the most civilised way to cross the island.

Gambir station, the main departure point for long-distance trains from Jakarta Midori, CC BY 3.0

Surabaya is Indonesia's second city, a port town with a gritty charm, a strong food culture and a revolutionary history. It is also the gateway to Bromo and the ferry to Madura. The train from Jakarta covers the 700 kilometres across Java in eight to ten hours, which is competitive with flying once you count the airports.

There are daytime and overnight services, executive and economy classes, and two main stations in Surabaya. Choosing the right train and station makes the difference between a comfortable journey and a long one.

Why take the train instead of flying

Flying Jakarta to Surabaya takes about an hour and a half, but the airports add two hours at each end and the fare is higher. The train leaves from central Jakarta and arrives in central Surabaya, with no baggage fees and no security queue. For a city-centre to city-centre trip, the train is often faster door to door.

The train also lets you see Java properly: rice fields, volcanic peaks, rivers and kampungs that you would miss from the air. The overnight service saves a hotel night, and the daytime service is a pleasant way to spend a day with a book and a window seat.

The services and classes

The Argo Bromo Anggrek is the flagship daytime service, leaving Gambir in the morning and arriving at Surabaya Pasar Turi in the late afternoon. Gajayana and Bima run overnight, with sleeper seats and dining cars. Argo Semeru and Sancaka connect through Yogyakarta.

Executive class has reclining seats, air conditioning, power sockets and a dining car. Economy is basic but clean, with fans or air conditioning depending on the carriage. Business class sits between the two and is often the best value for a long daytime trip.

The stations at both ends

Gambir is central Jakarta's main station, close to Monas and the old town. It is large, busy and well organised, with food courts and taxis outside. Arrive at least thirty minutes before departure, and allow more during rush hour.

In Surabaya, trains arrive at Gubeng or Pasar Turi depending on the service. Gubeng is closer to the city centre and the Gubeng hotel district; Pasar Turi is north of the centre and convenient for the port. Check your ticket carefully, because the two stations are twenty minutes apart.

Platform at Surabaya Gubeng station
Surabaya Gubeng, the main station for trains from Jakarta and Yogyakarta

Booking and fares

Book through the KAI app or at station counters. Tickets open about forty-five days ahead, and the overnight executive services sell out first. Fares range from about IDR 250,000 in economy to 700,000 in executive, with business class in between.

Bring identification and arrive early. Seat selection is available at booking, and window seats on the north side of the train have the best views of the volcanoes in the afternoon. Food is available in the dining car, but bringing your own snacks is cheaper.

Overnight or daytime?

The overnight train leaves Gambir in the evening and arrives in Surabaya early the next morning, saving a hotel night and a day of travel. The seats recline but do not lie flat, so sleep quality depends on your tolerance. Executive class is worth the extra for the overnight run.

The daytime train is more comfortable and lets you see the landscape, but it consumes a full day. If you are heading to Bromo, the overnight train works well: you arrive in the morning, connect to a tour and reach the mountain for sunrise the next day.

Arriving in Surabaya and moving on

From Gubeng, taxis and ride-hailing cars reach the city centre in fifteen minutes. The old town, the Arab quarter and the port are within half an hour. The station has a food court and left luggage, which is useful if you are heading straight to Bromo.

For Bromo, tours leave Surabaya in the evening or early morning and take three to four hours to Cemoro Lawang. For Madura, the Suramadu bridge is a short drive from the centre. For Yogyakarta, several trains a day run west from Gubeng and Pasar Turi.

Java by train is the island at eye level: rice fields, volcanoes and back gardens, all passing at a speed you can actually read.

The Travelsaya editors

Surabaya in a day between trains

If you arrive in the morning and leave in the evening, start at the old town around the Red Bridge, where the Arab quarter, the Chinese quarter and the Dutch warehouses sit side by side. The submarine museum and the maritime museum are close by, and the fish market is at its busiest before noon.

For lunch, try the local specialties: rawon, a dark beef soup; lontong balap, a rice cake dish; and the sweet drink called es cincau. The food courts around Gubeng station are reliable, and the restaurants in the centre are inexpensive.

In the afternoon, visit the Tugu Pahlawan monument and the museum of the 1945 battle, which explains the city's role in the independence struggle. The Suramadu bridge, connecting Java to Madura, is a short drive from the centre and impressive at sunset.

If you are heading to Bromo, use the afternoon to arrange a tour rather than sightseeing. The tours leave in the evening, and the operators around Gubeng can pick you up from the station. Leave your luggage at the hotel or the station and travel light to the mountain.

Gubeng and Pasar Turi both have left luggage, food courts and taxis, but Gubeng is the more comfortable station. If you arrive early, the area around the station has cheap hotels and restaurants, and the city centre is a short ride away. Keep your ticket and identification handy for the gate checks.

The practicalities

Everything below is a range, not a quote. Confirm ferry times and car rates locally; both move with fuel and season.

Mode
Long-distance train
Route
Gambir to Surabaya Gubeng or Pasar Turi
Journey time
8 to 10 hours
Frequency
6 to 10 daily
Typical fare
IDR 250,000 to 700,000
Best value
Business class, daytime

Questions people actually ask

Which Surabaya station is better?

Gubeng is closer to the city centre and hotels. Pasar Turi is convenient for the port and some northern services. Check your ticket, because the stations are twenty minutes apart.

Is the overnight train comfortable?

Executive class reclines and is air-conditioned, but seats do not lie flat. It is comfortable enough for most travellers and saves a hotel night.

How far is Surabaya from Bromo?

About three to four hours by road to Cemoro Lawang. Tours leave from Surabaya in the evening or early morning, and the train station is a convenient pickup point.

Can I break the journey in Yogyakarta?

Yes. Several services stop at Yogyakarta, and you can book separate tickets for each leg. The Jakarta–Yogyakarta and Yogyakarta–Surabaya legs are both scenic.