Jakarta to Surabaya

Jakarta to Surabaya

Jakarta
Surabaya
Sun, May 31
+ Add return
2 Passengers
Finding the best routes for you — almost ready!
Sort by
Filters
Departure time
Transport type
Departure station
Arrival station
Booking Facilities
Price
Arrival time
Operators
 
 
 
 
 

Jakarta to Surabaya Destination Reviews

ZZ
Zhan Z
They lied about their arrival time. They said it would take 10 hours in the road and would arrive in Surabaya at midnight 12.00am on the webpage. In fact, they have to drive at least 12 or 13 hours in the road. They would arrive in Surabaya at 3.00am
Jakarta to Surabaya, Bus Executive, DAMRI, Mar 1, 2026
LO
Linus O
Bus ride was great however it was very difficult to get an update on the bus and to know where to wait for it.
Jakarta to Surabaya, Bus Executive, Mawar, Oct 25, 2025
M
Michael
We did not take the bus. We ended up booking a flight instead. Unfortunately we were not able to get our money back
Jakarta to Surabaya, Bus Executive, DAMRI, Aug 9, 2025
4.4
6 customer reviews
5
33%
4
17%
3
50%
2
0%
1
0%

Jakarta to Surabaya Schedule

TypeOperatorClassDeparture TimeArrival TimePriceRating
Bus
Gunung Harta
Executive
00:00
19:43
$32.05
Bus
KYM Trans
Executive
04:45
17:30
$18.96
  4.0
Bus
Semeru Trans
Suite Class
05:25
17:00
$11.17
Bus
Haryanto
Executive
05:45
18:45
$18.96
Bus
KYM Trans
Executive
06:15
17:00
$19.77
  4.0
Bus
KYM Trans
Executive
06:35
18:00
$19.77
  4.0
Bus
Semeru Trans
Suite Class
06:55
18:00
$42.51
Bus
MTrans
Executive
07:15
17:25
$23.67
Bus
MTrans
Luxury
07:35
17:45
$34.67
Bus
Cititrans AKAP
Executive
07:55
19:05
$30.06
Bus
Juragan 99
Executive
08:15
20:00
$29.03
Bus
Cititrans AKAP
Executive
08:50
19:05
$30.06
Bus
Haryanto
Executive
10:00
01:30
$18.96
Bus
Haryanto
Executive
10:30
01:30
$18.96
Bus
Pandawa 87
Executive
11:00
01:30
$19.93
Bus
Gunung Harta Solutions
Executive
11:20
04:00
$20.47
Bus
Haryanto
Executive
12:00
03:00
$18.96
Bus
Pahala Kencana
Executive
12:25
06:20
$16.57
Bus
Pandawa 87
Executive
12:45
01:45
$26.76
Bus
Medali Mas
Executive
13:10
01:00
$21.07

How to get from Jakarta to Surabaya

When you want to get from Jakarta to Surabaya, you have a few options to consider. Traveling between these destinations is possible by different means of transport:

  • Flight
  • Bus
  • Train

If you’re looking for a quick trip, it’s recommended that you use Flight. However, if you’d rather take your time with a slower, more affordable travel option, you can book a Bus ticket.

The cost of travel will depend on the means of transport you choose for your trip. A Bus ticket is the most expensive option - it will cost you about USD 47.82. If you want to save on transportation, it’s better to take a bus as a bus ticket costs as low as USD 16.26.

How far is Jakarta from Surabaya?

If you’re traveling by land, it’s important to know the distance from Jakarta to Surabaya. Your trip will be a total of 606 miles (975 km). The flying distance is 705 miles (1134 km).

How long does it take to get from Jakarta to Surabaya?

The travel time from Jakarta to Surabaya can vary depending on the mode of transportation you choose. All things considered, the whole journey should take from 2 to 20 hours.

How much does it cost to get from Jakarta to Surabaya?

The cost of the trip from Jakarta to Surabaya varies according to what means of transport you choose for your journey. The most affordable operator is Kramat Djati Jakarta: travelling by bus expect to pay as low as USD 16.26 for your ticket.

However, if you’re after more upscale travel . The most expensive variant is to opt for a Bus - a one-way Bus ticket can cost as much as USD 47.82.

Here is a chart of the average ticket prices and transportation options available from Jakarta to Surabaya:

  • Bus tickets - USD 16.26 to USD 47.82;
  • Train tickets - USD 22.55 to USD 149.69;
  • Plane tickets - USD 70.25 to USD 964.10;

How many trips per day are there between Jakarta and Surabaya?

Depending on your choice of transportation, the number of daily trips varies.

  • Buses start plying the route from 04:45 - you can also take a bus as late as 20:00. There are 117 available bus trips every day.

Which means of transport is the best for the route?

Flights

Traveling by plane is the fastest way to get from Jakarta to Surabaya. While it’s often the most expensive option, tool, occasionally you can grab promotional tickets for more or less the price of a train or a ferry ticket. Normally, the minimum you need to pay for a Plane ticket is USD 70.25.

Things to remember before boarding a plane:

  • It’s recommended to book a ticket in advance and check-in online. This way, you can save over 2 hours at the airport, and if your seat selection is on a first come first served basis you will have more options to choose from.
  • Getting through security checks may take some time - it’s recommended to get to the airport at least 1.5 hours in advance.

Airlines flying from Jakarta to Surabaya

Batik Air, Batik Air, Citilink, Citilink, Emirates, Garuda Indonesia, KLM, Korean Air, Lion Air, Lion Air, Lion Air, Lion Air, Pelita Air, Pelita Air, Pelita Air, Pelita Air, Super Air Jet, Super Air Jet

Buses

Taking a bus from Jakarta to Surabaya is cheaper than flying. Quite often, a long-distance bus is the cheapest transportation option. Buses normally make bathroom and/or lunch stops along the way.

Things to remember before opting for a bus ride:

  • If possible, make sure to choose higher-class buses for a more comfortable travel experience. Such buses often have an air conditioning system, soft reclining seats, Wi-Fi, bathrooms, etc.
  • As with plane tickets, buses are better booked in advance so that you can secure a good seat.
  • While booking a bus, keep in mind that delays are possible. Yet it still pays to get to the bus station at least 15 minutes prior to the scheduled departure.

Trains

Things to remember while choosing a train ticket:
Consider everything carefully while choosing the class of your train travel. In most cases, the second class is comfortable enough – it features 2 or 4 berths in each compartment and is often air-conditioned.

If you’re in for a premium experience, consider getting a first class ticket. The price of first class tickets may include Wifi, and a choice of snacks and drinks..

The most popular transport from Jakarta to Surabaya

How to choose the most convenient way of travel from Jakarta to Surabaya? In order to make your choice of transportation easier, we asked 1000 users to range their preferences for this route. Here are the results of the poll:

Transportation from Jakarta to Surabaya

Facts about the transport from Jakarta to Surabaya

Cheapest Transport$17
Fastest Transport1h 20m
Earliest Departure12:10 AM
Latest Departure11:35 PM
Departures per day117
Distance975 kilometers
Transport CompaniesAgramas, BASS Trans, Batik Air, Batik Air, Citilink, Citilink, Debe Trans, Garuda Indonesia, Gunung Harta Solutions, Haryanto, Indonesia Railways, Juragan 99, Kramat Djati Jakarta, KYM Trans, Lion Air, Lion Air, Lion Air, Medali Mas, Nusa Bali, Pahala Kencana, Pandawa 87, Pelita Air, Pelita Air, Pelita Air, Restu Panda, Royal Kencana, Super Air Jet, Super Air Jet, Unicorn Indorent, Wafaa Holiday