Jakarta to Surabaya

Jakarta to Surabaya

Jakarta
Surabaya
Thu, Oct 15
+ Add return
2 Travelers
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
8 customer reviews
5
36%
4
13%
3
38%
2
13%
1
0%

Jakarta to Surabaya Schedule

TypeOperatorClassDeparture TimeArrival TimePriceRating
Bus
Gunung Harta
Executive
00:00
19:43
$31.80
Bus
KYM Trans
Executive
04:45
17:30
$18.81
  4.0
Bus
Semeru Trans
Suite Class
05:25
17:00
$11.09
Bus
Haryanto
Executive
05:45
18:45
$18.81
Bus
KYM Trans
Executive
06:15
17:00
$19.62
  4.0
Bus
KYM Trans
Executive
06:35
18:00
$19.62
  4.0
Bus
Semeru Trans
Suite Class
06:55
18:00
$42.18
Bus
MTrans
Executive
07:15
17:25
$23.49
Bus
MTrans
Luxury
07:35
17:45
$34.40
Bus
Cititrans AKAP
Executive
07:55
19:05
$29.83
Bus
Juragan 99
Executive
08:15
20:00
$28.81
Bus
Cititrans AKAP
Executive
08:50
19:05
$29.83
Bus
Haryanto
Executive
10:00
01:30
$18.81
Bus
Haryanto
Executive
10:30
01:30
$18.81
Bus
Pandawa 87
Executive
11:00
01:30
$19.78
Bus
Gunung Harta Solutions
Executive
11:20
04:00
$20.32
Bus
Haryanto
Executive
12:00
03:00
$18.81
Bus
Pahala Kencana
Executive
12:25
06:20
$16.45
Bus
Pandawa 87
Executive
12:45
01:45
$26.55
Bus
Medali Mas
Executive
13:10
01:00
$20.91

How to get from Jakarta to Surabaya

Travelling between Jakarta and Surabaya is possible by Flight, bus, train and taxi. Flight guarantees the fastest travel on this route. Bus is the slowest option.

The most expensive ticket will cost you USD 42.19 if you go by Bus; to keep it budget-friendly, opt for a bus which will set you back mere USD 18.12.

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

It can take you anywhere between 2 and 34 hours to travel between Jakarta and Surabaya depending on the means of transport you choose.

Flight is the fastest way to travel between Jakarta and Surabaya. Flight will bring you to your destination in 1h 25m. Bus does a much slower job and take about 1days 9h 30m to reach Surabaya.

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

Travelling between Jakarta and Surabaya can be as cheap as USD 18.12 if you opt for a Wafaa Holiday bus and as expensive as USD 42.19 if you buy a Cititrans AKAP Bus ticket.

Here is the list of how much you can expect to pay travelling by each means of transport available for this route.

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

  • 132 from Jakarta to Surabaya starting from 04:45 Jakarta until 21:00 Jakarta

Check above for a bus, train, flight and ferry timetable from Jakarta to Surabaya.

What mode of transportation is the best one for my route?

Flights

Flying is the fastest and often the most expensive way to travel from Jakarta to Surabaya, but with a bit of luck you can score very good deals for as little as USD 57.05.

Things to remember: Note that some of the airlines may have restrictions on checked luggage weight or require paying extra for check-in, choosing seats or transportation of oversized luggage.

If opting for a flight, calculate the time you will spend getting to and from the airports as well as the waiting time before your flight, getting through immigration in case of an international flight and recovering your checked luggage.

In certain cases all these procedures can add no less than 5 hours to your total travel time.

Airlines flying between Jakarta and Surabaya

Batik Air, Batik Air, Citilink, Citilink, Citilink, Emirates, Garuda Indonesia, IndiGo, Lion Air, Lion Air, Pelita Air, Pelita Air, Pelita Air, Philippine Airlines, Super Air Jet, Super Air Jet

Bus

Travelling from Jakarta to Surabaya overland will inevitably take longer but in many cases it is the cheapest option if you opt for a bus.

Things to remember: For a more comfortable ride opt for a higher-class bus wherever possible. These buses usually have soft reclining seats and are equipped with air-conditioning and on-board toilets.

They often include water, snacks or a light lunch into your ticket price and make bathroom stops en-route.

Companies operating bus routes between Jakarta and Surabaya

Agramas, BASS Trans, Cititrans AKAP, Debe Trans, Gunung Harta Solutions, Haryanto, Kramat Djati Jakarta, KYM Trans, Medali Mas, MTrans, Pandawa 87, Restu Panda, Unicorn Indorent, Wafaa Holiday

Taxi

Some travellers consider taxi to be the most convenient form of overland transport thanks to flexible departure times, a possibility to choose the size of the car you need, and a hassle-free door-to-door service.

Things to remember: If you are planning to make detours during your trip, discuss it with your driver or service provider in advance as it may affect the price.

Companies offering charters between Jakarta and Surabaya

Daytrip private transfer with English speaking driver

Train

Train is a often a great choice for long-haul travel especially if you opt for a night sleeper train with berths which will allow you to sleep all your journey through. To make the most of your train journey, choose the class of your ticket wisely.

Note that there are air-conditioned and fan-only carriages; private compartments for 2 or 4; hard and soft seats.
Though the upper class you get the smoother is your journey, often second class air-conditioned or fan-only sleepers are a good money saving alternative.

What is the most popular transport to get from Jakarta to Surabaya?

There is a choice of transportation means any time of the day with Bus remaining the most popular option due to their reasonable pricing and comfort.

Out of 1000 travellers who bought tickets for this route

  • 49% opted for a bus
  • 40% took a train
  • 11% decided to fly

Transportation from Jakarta to Surabaya

Facts about the transport from Jakarta to Surabaya

Cheapest Transport$19
Fastest Transport1h 25m
Earliest Departure1:10 AM
Latest Departure11:35 PM
Departures per day132
Distance1675 kilometers
Transport CompaniesAgramas, BASS Trans, Batik Air, Batik Air, Citilink, Citilink, Citilink, Cititrans AKAP, Debe Trans, Emirates, Garuda Indonesia, Gunung Harta Solutions, Haryanto, IndiGo, Indonesia Railways, Kramat Djati Jakarta, KYM Trans, Lion Air, Lion Air, Medali Mas, MTrans, Pandawa 87, Pelita Air, Pelita Air, Pelita Air, Philippine Airlines, Restu Panda, Super Air Jet, Super Air Jet, Unicorn Indorent, Wafaa Holiday