How to get from Jakarta to Surabaya

Compare Buses and Flights with just one click and find the best one for you
The Best Deals Save up to 70%
The Most Choices Millions of routes worldwide
Easy and Transparent Compare offers with 1 click

What is the best way to travel from Jakarta to Surabaya?

Looking for a trip? Check and compare all the available Buses and Flights to Surabaya from Jakarta. Look at different modes of transportation, search for the cheapest tickets, fastest rides and most popular stations, and see all 9 available companies to find your perfect trip!
Bus is the cheapest, while Flight is the fastest way on this route
Transport type
Travel time
Cheapest price
Average price
Daily departures
Bus
10h 0m
£8
£17
87
Flight
1h 30m
£47
£55
100

What is the cheapest way to reach Surabaya from Jakarta?

You can reach Surabaya with just £8 by taking a Bus from Medali Mas, but there are many more cheap offers: we have selected the best ones for you for the next few days here.

Friday
from £8
Saturday
from £15
Sunday
from £15
Monday
Tuesday
from £20
Wednesday
from £15
Thursday
from £22

    Cheapest Buses Friday

  • Medali Mas
    12h 30m
    0
    17:30
    Jakarta
    Teuku Umar 8 Coach Station
    06:00
    Surabaya
    Central Station
    0
    Medali Mas
    Business
    £8
  • Angkasa Trans Jaya
    10h 0m
    0
    13:00
    Jakarta
    Teuku Umar 8 Coach Station
    23:00
    Surabaya
    Central Station
    0
    Angkasa Trans Jaya
    Economy
    £11
  • Sarwonadhi Trans
    11h 0m
    0
    16:30
    Jakarta
    Teuku Umar 8 Coach Station
    03:30
    Surabaya
    Central Station
    0
    Sarwonadhi Trans
    Economy
    £12
  • Damri Express
    10h 40m
    0
    18:00
    Jakarta
    Teuku Umar 8 Coach Station
    04:40
    Surabaya
    Central Station
    0
    Damri Express
    Economy
    £13
  • Harapan Jaya
    13h 0m
    0
    06:30
    Jakarta
    Terminal Pondok Pinang
    19:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15

    Cheapest Buses Saturday

  • Harapan Jaya
    13h 0m
    0
    06:15
    Jakarta
    Kalideres Central Bus Station
    19:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    18:00
    Jakarta
    Kalideres Central Bus Station
    07:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    14:30
    Jakarta
    Kalideres Central Bus Station
    03:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £17

    Cheapest Buses Sunday

  • Harapan Jaya
    13h 0m
    0
    06:30
    Jakarta
    Lebak Bulus
    19:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    13:00
    Jakarta
    Lebak Bulus
    02:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    18:15
    Jakarta
    Terminal Bus Kota Blok M
    07:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    16:00
    Jakarta
    Lebak Bulus
    05:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £17
  • Harapan Jaya
    13h 0m
    0
    17:30
    Jakarta
    Lebak Bulus
    06:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £17

    Cheapest Buses Tuesday

  • Harapan Jaya
    14h 30m
    0
    06:00
    Jakarta
    Jalan Ciputat Bus Stop
    20:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    14h 30m
    0
    12:30
    Jakarta
    Jalan Ciputat Bus Stop
    03:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    13h 0m
    0
    06:30
    Jakarta
    Terminal Bus Kota Blok M
    19:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    13h 0m
    0
    18:15
    Jakarta
    Terminal Bus Kota Blok M
    07:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    13h 0m
    0
    07:30
    Jakarta
    Terminal Pulo Gebang
    20:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20

    Cheapest Buses Wednesday

  • Kramat Djati
    18h 0m
    0
    13:00
    Jakarta
    Terminal Bus Kota Blok M
    07:00
    Surabaya
    Central Station
    0
    Kramat Djati
    Economy
    £15
  • Kramat Djati
    16h 30m
    0
    14:30
    Jakarta
    Terminal Bus Kota Blok M
    07:00
    Surabaya
    Central Station
    0
    Kramat Djati
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    18:15
    Jakarta
    Terminal Bus Kota Blok M
    07:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Sinar Jaya
    13h 0m
    0
    06:00
    Jakarta
    Terminal Bus Kota Blok M
    19:00
    Surabaya
    Central Station
    0
    Sinar Jaya
    Premium Economy
    £16
  • Sinar Jaya
    12h 30m
    0
    06:30
    Jakarta
    Terminal Bus Kota Blok M
    19:00
    Surabaya
    Central Station
    0
    Sinar Jaya
    Premium Economy
    £16
  • Cheapest Flights Wednesday

  • Lion Air
    1h 30m
    0
    03:30
    Jakarta Airport
    Jakarta Airport
    05:00
    Surabaya Airport
    Surabaya Airport
    0
    Lion Air
    Economy
    from £47
  • Batik Air
    1h 30m
    0
    06:00
    Jakarta Airport
    Jakarta Airport
    07:30
    Surabaya Airport
    Surabaya Airport
    0
    Batik Air
    Economy
    from £53
  • Citilink
    1h 35m
    0
    05:25
    Soekarno-Hatta Airport
    Stasiun KA Bandara Bus Stop
    07:00
    Surabaya Airport
    Surabaya Airport
    0
    Citilink
    Economy
    from £54
  • Skyscanner
    1h 35m
    0
    06:40
    Soekarno-Hatta Airport
    Stasiun KA Bandara Bus Stop
    08:15
    Surabaya Airport
    Surabaya Airport
    0
    Skyscanner
    Economy
    from £60
  • Pelita Air
    1h 35m
    0
    06:40
    Jakarta Airport
    Jakarta Airport
    08:15
    Surabaya Airport
    Surabaya Airport
    0
    Pelita Air
    Economy
    from £63

    Cheapest Buses Thursday

  • Harapan Jaya
    14h 30m
    0
    06:00
    Jakarta
    Jalan Ciputat Bus Stop
    20:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £22
  • Harapan Jaya
    14h 30m
    0
    12:30
    Jakarta
    Jalan Ciputat Bus Stop
    03:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £22
  • Harapan Jaya
    10h 59m
    0
    18:00
    Jakarta
    Terminal Tanjung Priok Bus Stop
    04:59
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £22
  • Harapan Jaya
    14h 30m
    0
    15:30
    Jakarta
    Jalan Ciputat Bus Stop
    06:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £24
  • Harapan Jaya
    14h 30m
    0
    17:00
    Jakarta
    Jalan Ciputat Bus Stop
    07:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £24

What are the fastest trips from Jakarta to Surabaya?

You can get to Surabaya from Jakarta in just 1h 30m with a Flight from Lion Air. But this is just one option, click on any of the offers below to compare it with the other available modes of transportations.

Friday
from 10h 0m
Saturday
from 13h 0m
Sunday
from 13h 0m
Monday
Tuesday
from 13h 0m
Wednesday
from 1h 30m
Thursday
from 10h 59m

    Fastest Buses Friday

  • Angkasa Trans Jaya
    10h 0m
    0
    13:00
    Jakarta
    Teuku Umar 8 Coach Station
    23:00
    Surabaya
    Central Station
    0
    Angkasa Trans Jaya
    Economy
    £11
  • Damri Express
    10h 40m
    0
    18:00
    Jakarta
    Teuku Umar 8 Coach Station
    04:40
    Surabaya
    Central Station
    0
    Damri Express
    Economy
    £13
  • Sarwonadhi Trans
    11h 0m
    0
    16:30
    Jakarta
    Teuku Umar 8 Coach Station
    03:30
    Surabaya
    Central Station
    0
    Sarwonadhi Trans
    Economy
    £12
  • Medali Mas
    12h 30m
    0
    17:30
    Jakarta
    Teuku Umar 8 Coach Station
    06:00
    Surabaya
    Central Station
    0
    Medali Mas
    Business
    £8
  • Harapan Jaya
    13h 0m
    0
    06:30
    Jakarta
    Terminal Pondok Pinang
    19:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15

    Fastest Buses Saturday

  • Harapan Jaya
    13h 0m
    0
    06:15
    Jakarta
    Kalideres Central Bus Station
    19:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    18:00
    Jakarta
    Kalideres Central Bus Station
    07:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    14:30
    Jakarta
    Kalideres Central Bus Station
    03:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £17

    Fastest Buses Sunday

  • Harapan Jaya
    13h 0m
    0
    06:30
    Jakarta
    Lebak Bulus
    19:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    13:00
    Jakarta
    Lebak Bulus
    02:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    18:15
    Jakarta
    Terminal Bus Kota Blok M
    07:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Harapan Jaya
    13h 0m
    0
    16:00
    Jakarta
    Lebak Bulus
    05:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £17
  • Harapan Jaya
    13h 0m
    0
    17:30
    Jakarta
    Lebak Bulus
    06:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £17

    Fastest Buses Tuesday

  • Harapan Jaya
    13h 0m
    0
    06:30
    Jakarta
    Terminal Bus Kota Blok M
    19:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    13h 0m
    0
    18:15
    Jakarta
    Terminal Bus Kota Blok M
    07:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    13h 0m
    0
    07:30
    Jakarta
    Terminal Pulo Gebang
    20:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    14h 30m
    0
    06:00
    Jakarta
    Jalan Ciputat Bus Stop
    20:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20
  • Harapan Jaya
    14h 30m
    0
    12:30
    Jakarta
    Jalan Ciputat Bus Stop
    03:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £20

    Fastest Flights Wednesday

  • Lion Air
    1h 30m
    0
    03:30
    Jakarta Airport
    Jakarta Airport
    05:00
    Surabaya Airport
    Surabaya Airport
    0
    Lion Air
    Economy
    from £47
  • Batik Air
    1h 30m
    0
    06:00
    Jakarta Airport
    Jakarta Airport
    07:30
    Surabaya Airport
    Surabaya Airport
    0
    Batik Air
    Economy
    from £53
  • Citilink
    1h 35m
    0
    05:25
    Soekarno-Hatta Airport
    Stasiun KA Bandara Bus Stop
    07:00
    Surabaya Airport
    Surabaya Airport
    0
    Citilink
    Economy
    from £54
  • Skyscanner
    1h 35m
    0
    06:40
    Soekarno-Hatta Airport
    Stasiun KA Bandara Bus Stop
    08:15
    Surabaya Airport
    Surabaya Airport
    0
    Skyscanner
    Economy
    from £60
  • Pelita Air
    1h 35m
    0
    06:40
    Jakarta Airport
    Jakarta Airport
    08:15
    Surabaya Airport
    Surabaya Airport
    0
    Pelita Air
    Economy
    from £63
  • Fastest Buses Wednesday

  • Sinar Jaya
    12h 30m
    0
    06:30
    Jakarta
    Terminal Bus Kota Blok M
    19:00
    Surabaya
    Central Station
    0
    Sinar Jaya
    Premium Economy
    £16
  • Harapan Jaya
    13h 0m
    0
    18:15
    Jakarta
    Terminal Bus Kota Blok M
    07:15
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £15
  • Sinar Jaya
    13h 0m
    0
    06:00
    Jakarta
    Terminal Bus Kota Blok M
    19:00
    Surabaya
    Central Station
    0
    Sinar Jaya
    Premium Economy
    £16
  • Kramat Djati
    16h 30m
    0
    14:30
    Jakarta
    Terminal Bus Kota Blok M
    07:00
    Surabaya
    Central Station
    0
    Kramat Djati
    Economy
    £15
  • Kramat Djati
    18h 0m
    0
    13:00
    Jakarta
    Terminal Bus Kota Blok M
    07:00
    Surabaya
    Central Station
    0
    Kramat Djati
    Economy
    £15

    Fastest Buses Thursday

  • Harapan Jaya
    10h 59m
    0
    18:00
    Jakarta
    Terminal Tanjung Priok Bus Stop
    04:59
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £22
  • Harapan Jaya
    14h 30m
    0
    06:00
    Jakarta
    Jalan Ciputat Bus Stop
    20:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £22
  • Harapan Jaya
    14h 30m
    0
    12:30
    Jakarta
    Jalan Ciputat Bus Stop
    03:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £22
  • Harapan Jaya
    14h 30m
    0
    15:30
    Jakarta
    Jalan Ciputat Bus Stop
    06:00
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £24
  • Harapan Jaya
    14h 30m
    0
    17:00
    Jakarta
    Jalan Ciputat Bus Stop
    07:30
    Surabaya
    Terminal Purabaya-Bungurasih
    0
    Harapan Jaya
    Economy
    £24
Here you will find all operators and timetables for a Bus from Jakarta to Surabaya

What are the most popular stations in Jakarta and Surabaya?

In Jakarta, you will usually depart from Terminal Pasar Minggu, Teuku Umar 8 Coach Station or Terminal Manggarai, while in Surabaya you will be arriving at Terminal Purabaya-Bungurasih, Gubeng Train Station or Central Station, but there are many more stops to explore in both locations.

How do I decide? Some tips and tricks from our experience

Are you having trouble deciding on how to get to Surabaya from Jakarta? With 5 connections between 9 Flight and Bus operators, it can be difficult to find the one ride that will make you happy. But we have some tips that can help you make the best informed decision. First of all, the best trip is always the one that meets all your needs, so make a list of all the things that you want from this journey and look for something that will satisfy all of them. Here we will go through some of the factors mostly commonly taken into consideration.

Look for the lowest price

Ticket price is usually the main concern: even if you can afford to pay more, why do it if there are cheaper options? Saving on the trip means that you can spend more on the vacation itself! Between Jakarta and Surabaya, you can pay as low as £8 with a Bus from Medali Mas.

Travel duration

Time is also an important factor. An earlier departure may allow you to see a beautiful sunset or relax before an important event. And remember, time is money, so paying more for a shorter trip may be well worth it. For longer distances, flights are without doubt the best options, but be mindful of airport times and possible delays: a high-speed train may end up cheaper and faster! Here the quicker option is definitely the Flight from Lion Air: you will get to Surabaya in just 1h 30m.

Comfort makes all the difference

You should always take into account what your personal travelling preferences are. Is one hand luggage enough, or are you trasporting more? Would you like to have a snack during the journey? Can you relax in a busy compartment, or do you need space for yourself? Even among the same mode of transportation, different companies will offer you varying levels of comfort and amenities. The main operators connecting Jakarta and Surabaya are Harapan Jaya, Kramat Djati and Sinar Jaya, but be sure to check what they have to offer!

Save money with deals, and always compare

One last tip? Even if you live in Jakarta and Surabaya is your only destination, it may be wise to check the offers from and to nearby cities or, if you are flyng, nearby airports. Check the trips from Tebet or to Surbaya, and look at flights from Halim Perdanakusuma Airport, and landing at Surabaya Airport. Comparing different routes may allow you to find deals or promotions you were not aware of. Consider also signing up to CheckMyBus to see even more exclusive promotions!

Which companies offer a trip from Jakarta to Surabaya?

The most popular companies between Jakarta and Surabaya, are Harapan Jaya, Kramat Djati and Sinar Jaya. Be sure to check their seat class offers and the amenities that they provide.

Bus companies: Harapan Jaya, Kramat Djati, Sinar Jaya and 4 more.

Airlines: Lion Air, Batik Air, Citilink and 2 more.

All you need to know when you travel from Jakarta to Surabaya

Check all information on comfort and services on all modes of transports from Jakarta to Surabaya. See which seat classes are available, and what amenities are other advantages offered by the operators on your journey.

FAQs about the trip from Jakarta to Surabaya

How can I reach Surabaya from Jakarta?

Every day, there are on average 5 connections between Flight and Bus, with which you can get to Surabaya from Jakarta.

How far is Surabaya from Jakarta?

The distance between Jakarta and Surabaya is 662.2 km.

What is the most ecofriendly mode of transport between Jakarta and Surabaya?

Trains and buses are by far the greenest options, with trains surpassing buses on longer routes. Planes will always be the worst polluters, especially in shorter flights, were the emissions from the takeoff and landing are less offset by the distance. On this particular route, a bus will emit, per person, a total of 18 kgs of CO2, a train 23 kgs, a car 113 kgs, and a flight 163 kgs.

What is the cheapest mode of transport from Jakarta to Surabaya?

You can get to Surabaya with just £8 by taking a Bus from Medali Mas.

What is the fastest way to get from Jakarta to Surabaya?

While a plane is travelling fastest boarding and transfer to airport consumes a lot of time. Usually, high speed trains are better than flights if pure train travel time is below 4 hours. For this particular route, you can get to Surabaya in just 1h 30m with a Flight from Lion Air.

More routes to Jakarta and to Surabaya

Looking for more options? Here you can see the most popular routes to Jakarta and to Surabaya. Simply click on a connection, and you’ll find all the details about the route!

The CheckMyBus App

Free Download

App Store
CheckMyBus App
Close
GPDR CheckMyBus shield

We value your privacy!

To

show

you

the

best

bus

deals,

we

and

our

partners

use

technical,

analytical,

and

marketing

cookies

for

ads

personalisation.

We

remember

your

anonymized

details

to

provide

a

personalized

experience.