50
Checking Seats Availability
Loading seats data...

From Pulo Gebang Bus Terminal to Surabaya by bus

18:30
Pulo Gebang Bus Terminal, Jakarta
08:30
Terminal Surabaya Bungurasih
14h
Instant 

From Pulo Gebang to Surabaya by bus

11:00
Pulo Gebang, Jakarta
00:35
Agen Rizky Mandiri, Surabaya
13h 35m
Instant 
13:00
Pulo Gebang, Jakarta
00:40
Agen Rizky Mandiri, Surabaya
11h 40m
Instant 
13:00
Pulo Gebang, Jakarta
06:40
Terminal Surabaya Bungurasih
17h 40m
Instant 
14:30
Pulo Gebang, Jakarta
04:30
Terminal Surabaya Bungurasih
14h
Instant 
17:00
Pulo Gebang, Jakarta
06:50
Terminal Surabaya Bungurasih
13h 50m
Instant 
18:30
Pulo Gebang, Jakarta
08:20
Terminal Surabaya Bungurasih
13h 50m
Instant 
22:00
Pulo Gebang, Jakarta
11:50
Terminal Surabaya Bungurasih
13h 50m
Instant 

From Pondok Pinang to Surabaya by bus

14:00
Pondok Pinang, Jakarta
04:20
Terminal Surabaya Bungurasih
14h 20m
Instant 

From Kampung Rambutan to Surabaya by bus

09:00
Kampung Rambutan, Jakarta
21:30
Agen Rizky Mandiri, Surabaya
1d 12h 30m
Instant 
11:10
Kampung Rambutan, Jakarta
01:30
Agen Rizky Mandiri, Surabaya
14h 20m
Instant 
11:30
Kampung Rambutan, Jakarta
03:20
Agen Rizky Mandiri, Surabaya
15h 50m
Instant 
11:40
Kampung Rambutan, Jakarta
03:20
Agen Rizky Mandiri, Surabaya
15h 40m
Instant 
14:25
Kampung Rambutan, Jakarta
08:35
Terminal Surabaya Bungurasih
18h 10m
Instant 
14:40
Kampung Rambutan, Jakarta
04:30
Terminal Surabaya Bungurasih
13h 50m
Instant 

From Soekarno Hatta Airport (CGK) to East Java (SUB) by flight

#QG710
04:10
CGK Soekarno Hatta Airport, Jakarta
05:40
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT890
04:30
CGK Soekarno Hatta Airport, Jakarta
06:00
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT690
05:00
CGK Soekarno Hatta Airport, Jakarta
06:30
SUB Juanda Airport, East Java
1h 30m
Instant 
 
05:35
CGK Soekarno Hatta Airport, Jakarta
07:05
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG712
05:55
CGK Soekarno Hatta Airport, Jakarta
07:25
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT748
06:00
CGK Soekarno Hatta Airport, Jakarta
07:30
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG9712
07:15
CGK Soekarno Hatta Airport, Jakarta
08:55
SUB Juanda Airport, East Java
1h 40m
Instant 
 
#JT528
07:30
CGK Soekarno Hatta Airport, Jakarta
09:00
SUB Juanda Airport, East Java
1h 30m
Instant 
 
07:35
CGK Soekarno Hatta Airport, Jakarta
09:05
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG714
07:45
CGK Soekarno Hatta Airport, Jakarta
09:15
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT752
07:50
CGK Soekarno Hatta Airport, Jakarta
09:20
SUB Juanda Airport, East Java
1h 30m
Instant 
 
08:05
CGK Soekarno Hatta Airport, Jakarta
09:35
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT28
08:20
CGK Soekarno Hatta Airport, Jakarta
09:50
SUB Juanda Airport, East Java
1h 30m
Instant 
 
08:40
CGK Soekarno Hatta Airport, Jakarta
10:10
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#SJ254
08:55
CGK Soekarno Hatta Airport, Jakarta
10:10
SUB Juanda Airport, East Java
1h 15m
Instant 
 
08:55
CGK Soekarno Hatta Airport, Jakarta
10:25
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT656
09:05
CGK Soekarno Hatta Airport, Jakarta
10:35
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT330
09:10
CGK Soekarno Hatta Airport, Jakarta
10:40
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT692
09:10
CGK Soekarno Hatta Airport, Jakarta
10:40
SUB Juanda Airport, East Java
1h 30m
Instant 
 
09:35
CGK Soekarno Hatta Airport, Jakarta
11:05
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT588
09:40
CGK Soekarno Hatta Airport, Jakarta
11:10
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG9730
09:45
CGK Soekarno Hatta Airport, Jakarta
11:15
SUB Juanda Airport, East Java
1h 30m
Instant 
 
10:40
CGK Soekarno Hatta Airport, Jakarta
12:10
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT892
11:20
CGK Soekarno Hatta Airport, Jakarta
12:50
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT694
11:20
CGK Soekarno Hatta Airport, Jakarta
12:50
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG716
12:00
CGK Soekarno Hatta Airport, Jakarta
13:20
SUB Juanda Airport, East Java
1h 20m
Instant 
 
#SJ266
13:10
CGK Soekarno Hatta Airport, Jakarta
14:25
SUB Juanda Airport, East Java
1h 15m
Instant 
 
#JT582
13:35
CGK Soekarno Hatta Airport, Jakarta
15:05
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG718
13:40
CGK Soekarno Hatta Airport, Jakarta
15:20
SUB Juanda Airport, East Java
1h 40m
Instant 
 
#JT40
15:40
CGK Soekarno Hatta Airport, Jakarta
17:10
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT596
16:10
CGK Soekarno Hatta Airport, Jakarta
17:40
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG720
16:30
CGK Soekarno Hatta Airport, Jakarta
17:50
SUB Juanda Airport, East Java
1h 20m
Instant 
 
#JT3979
16:30
CGK Soekarno Hatta Airport, Jakarta
18:00
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG9722
16:35
CGK Soekarno Hatta Airport, Jakarta
18:15
SUB Juanda Airport, East Java
1h 40m
Instant 
 
#JT696
16:50
CGK Soekarno Hatta Airport, Jakarta
18:20
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG722
17:00
CGK Soekarno Hatta Airport, Jakarta
18:40
SUB Juanda Airport, East Java
1h 40m
Instant 
 
#JT3590
17:00
CGK Soekarno Hatta Airport, Jakarta
18:30
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#QG174
17:30
CGK Soekarno Hatta Airport, Jakarta
19:10
SUB Juanda Airport, East Java
1h 40m
Instant 
 
#JT652
17:35
CGK Soekarno Hatta Airport, Jakarta
19:05
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#SJ258
18:30
CGK Soekarno Hatta Airport, Jakarta
19:45
SUB Juanda Airport, East Java
1h 15m
Instant 
 
#JT3580
18:30
CGK Soekarno Hatta Airport, Jakarta
20:00
SUB Juanda Airport, East Java
1h 30m
Instant 
 
18:30
CGK Soekarno Hatta Airport, Jakarta
20:00
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#SJ256
18:35
CGK Soekarno Hatta Airport, Jakarta
19:50
SUB Juanda Airport, East Java
1h 15m
Instant 
 
#QG736
18:40
CGK Soekarno Hatta Airport, Jakarta
20:20
SUB Juanda Airport, East Java
1h 40m
Instant 
 
#QG726
19:30
CGK Soekarno Hatta Airport, Jakarta
21:10
SUB Juanda Airport, East Java
1h 40m
Instant 
 
19:30
CGK Soekarno Hatta Airport, Jakarta
21:00
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT590
20:45
CGK Soekarno Hatta Airport, Jakarta
22:15
SUB Juanda Airport, East Java
1h 30m
Instant 
 
#JT798
21:40
CGK Soekarno Hatta Airport, Jakarta
23:10
SUB Juanda Airport, East Java
1h 30m
Instant 
 
22:15
CGK Soekarno Hatta Airport, Jakarta
23:45
SUB Juanda Airport, East Java
1h 30m
Instant 
 

Jakarta to Surabaya Schedule

Jakarta to Surabaya Schedule
Transport NameRoute TimePrice
Citilink Economy #QG71004:10 – 05:40IDR 918,959
Citilink Economy #QG971207:15 – 08:55IDR 643,138
Pahala Kencana Express 09:00 – 21:30IDR 344,270
Sriwijaya Air Economy #SJ25408:55 – 10:10IDR 654,932
Citilink Economy #QG973009:45 – 11:25IDR 643,138
Pahala Kencana Express 11:00 – 00:35IDR 321,290
Pahala Kencana Express 13:00 – 06:40IDR 344,270
Pahala Kencana Express 14:30 – 04:30IDR 355,677
Tiara Mas Express 17:00 – 06:50IDR 220,183
Mawar Express 18:30 – 08:30IDR 276,508
Lion Air Economy #JT59020:45 – 22:15IDR 616,234
3M Transport Express 22:00 – 11:50IDR 245,784

Popular Routes in Indonesia

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

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 flight ticket is the most expensive option - it will cost you about IDR 705,513. If you want to save on transportation, it’s better to take a bus as a bus ticket costs as low as IDR 220,182.

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 1135 miles (1825 km). The flying distance is 413 miles (663 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 37 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 Tiara Mas: travelling by bus expect to pay as low as IDR 220,182 for your ticket.

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

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

  • Bus tickets - IDR 220,182 to IDR 379,168;
  • Plane tickets - IDR 616,802 to IDR 705,513;

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

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

  • Flights from Jakarta to Surabaya depart during the day - there are approximately 39 departures a day.
  • Buses start plying the route from 09:00 - you can also take a bus as late as 22:00. There are 15 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 IDR 616,802.

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 Indonesia, Citilink, Lion Air, Sriwijaya Air

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.

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:

  • 100% decided to go for a bus.