Jakarta to Surabaya bus with Harapan Jaya

Fri, Sep 18
+ Add return
Harapan Jaya
Kramat Djati
3M Transport (Sari Indah)
Kym Trans
Tiara Mas
2,000+ travel companies
Harapan Jaya
Kramat Djati
3M Transport (Sari Indah)
Kym Trans
Tiara Mas
2,000+ travel companies
QR-Code
Scan to get our free app
Use our app to get live travel updates and book mobile tickets for trains, buses, flights, and ferries.
App Store
rate4.9
42K ratings
Google Play
rate4.6
136K reviews

The cheapest and fastest buses from Jakarta to Surabaya

Showing times, prices and bookable tickets for Sep 18

Cheapest price on Sep 18

$15

Average ticket price on Sep 18

$23

Fastest journey on Sep 18

10 h 59 m

Average journey duration on Sep 18

10 h 59 m

Buses on Sep 18

56

Distance

662 km

Cheap tickets

The best way to find a cheap bus ticket from Jakarta to Surabaya is to book your journey as far in advance as possible and to avoid traveling at rush hour.

The average ticket from Jakarta to Surabaya will cost around $23 if you buy it on the day, but the cheapest tickets can be found for only $15.

Fast buses

On Fri, Sep 18, we found 56 buses from Jakarta to Surabaya, including 56 direct services.

On Fri, Sep 18 the direct buses cover the 662 km distance in an average of 10 h 59 m but if you time it right, some buses will get you there in just 10 h 59 m .

On Fri, Sep 18 the slowest buses will take 10 h 59 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.

  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    9:30 PM12h28
    Jakarta, Bus Terminal Kampung Rambutan
    9:58 AMWaru, Bus Terminal Purabaya/Bungurasih
    $151One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    10:00 PM12h06
    Jakarta, Pintu Bus Terminal Pulo Gebang
    10:06 AMWaru, Bus Terminal Purabaya/Bungurasih
    $151One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    8:00 PM12h56
    Jakarta, Bus Terminal Kalideres
    8:56 AMWaru, Bus Terminal Purabaya/Bungurasih
    $151One-way
    0 transfers
  • Kramat DjatiKRAMAT DJATI
    9:00 AM13h30
    Jakarta, Pintu Bus Terminal Pulo Gebang
    10:30 PMWaru, Bus Terminal Purabaya/Bungurasih
    $211One-way
    0 transfers
  • Kramat DjatiKRAMAT DJATI
    7:30 AM15h31
    Jakarta, Bus Terminal Kampung Rambutan
    11:01 PMWaru, Bus Terminal Purabaya/Bungurasih
    $211One-way
    0 transfers

Travel Information

Compare bus, train, and flight for Jakarta to Surabaya

Omio recommends booking the bus as it is the most popular option from Jakarta to Surabaya among Omio's users. If you are prioritising price, take the bus, with an average ticket price of $24 For those with little time, consider booking a flight, which has an average total journey time of 3h 48m. Average ticket prices depend on the travel mode: a bus costs an average of $24, while a flight costs an average of $96.

Distance: 411 miles (662 km)

Compare bus with

Most popular
Bus
Flight
Train
Driving

$24

Average price

Cheapest

$96

Average price

$111

Average price

(fuel + tolls)

13h 37m

Average total duration

13h 7m

Onboard

+

30m

Additional time*

3h 48m

Average total duration

Fastest

1h 48m

Onboard

+

2h 0m

Additional time*

9h 56m

Average total duration

(door-to-door)

Direct Options

Direct Options

Direct Options

Direct Options

The cheapest way to travel from Jakarta to Surabaya is a bus with an average price of $24 (€20).

This is compared to other travel options from Jakarta to Surabaya:

A bus is $72 (€59) less than a flight for this route with tickets for a flight from Jakarta to Surabaya costing on average $96 (€79).

The fastest way to travel from Jakarta to Surabaya is by flight with an average journey time of 1h 48m.

Other travel options to Surabaya take longer:

Bus takes on average 13h 7m.

It's helpful to compare your options as there are 3 ways to travel between Jakarta and Surabaya including taking a bus, train, and flight.
We recommend using the bus as it is the most popular way to get from Jakarta to Surabaya among Omio's users.
Take the bus. It's the cheapest way to make this trip, and the price gap is usually bigger than people expect.

Tickets start at around $24 (€20) compared to roughly $111 (€91) in fuel and tolls — a saving of about $87 (€71). The journey takes 13h 7m versus 9h 56m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.

Direct services are operated by Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Kym Trans, Tiara Mas, Mawar, Angkasa Trans Jaya.

Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.

Jakarta to Surabaya Bus Timetables

OperatorDeparture TimeArrival TimeDurationDeparture daysCheapest price
Operator
Harapan Jaya
Departure Time
06:00AM
Arrival Time
04:59PM
Duration
10h59
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:15AM
Arrival Time
07:15PM
Duration
13h00
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:20AM
Arrival Time
07:20PM
Duration
13h00
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:30AM
Arrival Time
07:11PM
Duration
12h41
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:40AM
Arrival Time
05:39PM
Duration
10h59
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
07:00AM
Arrival Time
07:29PM
Duration
12h29
Departure days
Tue, Wed
Cheapest price
$23
Operator
Kramat Djati
Departure Time
07:30AM
Arrival Time
11:01PM
Duration
15h31
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
07:30AM
Arrival Time
07:32PM
Duration
12h02
Departure days
Tue, Wed
Cheapest price
$23
Operator
Kramat Djati
Departure Time
08:00AM
Arrival Time
10:51PM
Duration
14h51
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$21
Operator
Kramat Djati
Departure Time
09:00AM
Arrival Time
10:30PM
Duration
13h30
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$21
Operator
Infobus
Departure Time
11:35AM
Arrival Time
01:00AM
Duration
13h25
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$29
Operator
Harapan Jaya
Departure Time
01:00PM
Arrival Time
01:25AM
Duration
12h25
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
01:30PM
Arrival Time
01:59AM
Duration
12h29
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
01:45PM
Arrival Time
12:44AM
Duration
10h59
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
02:00PM
Arrival Time
02:02AM
Duration
12h02
Departure days
Everyday
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
02:15PM
Arrival Time
02:15AM
Duration
12h00
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
02:30PM
Arrival Time
03:30AM
Duration
13h00
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
02:45PM
Arrival Time
01:44AM
Duration
10h59
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Tiara Mas
Departure Time
03:30PM
Arrival Time
04:26AM
Duration
12h56
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$24
Operator
Kramat Djati
Departure Time
03:30PM
Arrival Time
12:25PM
Duration
20h55
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Kramat Djati
Departure Time
04:00PM
Arrival Time
12:15PM
Duration
20h15
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
04:00PM
Arrival Time
05:00AM
Duration
13h00
Departure days
Mon, Tue, Wed, Fri, Sat, Sun
Cheapest price
$26
Operator
Mawar
Departure Time
04:30PM
Arrival Time
05:26AM
Duration
12h56
Departure days
Everyday
Cheapest price
$22
Operator
Tiara Mas
Departure Time
04:30PM
Arrival Time
05:14AM
Duration
12h44
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$24
Operator
Harapan Jaya
Departure Time
04:30PM
Arrival Time
05:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$23
Operator
Tiara Mas
Departure Time
04:40PM
Arrival Time
05:17AM
Duration
12h37
Departure days
Mon, Fri, Sat, Sun
Cheapest price
$24
Operator
Harapan Jaya
Departure Time
04:45PM
Arrival Time
05:14AM
Duration
12h29
Departure days
Everyday
Cheapest price
$23
Operator
Mawar
Departure Time
05:00PM
Arrival Time
05:24AM
Duration
12h24
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
05:00PM
Arrival Time
06:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$22
Operator
Tiara Mas
Departure Time
05:00PM
Arrival Time
05:28AM
Duration
12h28
Departure days
Mon, Fri, Sat, Sun
Cheapest price
$24
Operator
Harapan Jaya
Departure Time
05:30PM
Arrival Time
06:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
05:45PM
Arrival Time
06:45AM
Duration
13h00
Departure days
Mon, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:00PM
Arrival Time
07:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$22
Operator
Mawar
Departure Time
06:30PM
Arrival Time
06:58AM
Duration
12h28
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:30PM
Arrival Time
07:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$22
Operator
Tiara Mas
Departure Time
07:00PM
Arrival Time
07:06AM
Duration
12h06
Departure days
Mon, Fri, Sat, Sun
Cheapest price
$24
Operator
Mawar
Departure Time
07:30PM
Arrival Time
07:36AM
Duration
12h06
Departure days
Everyday
Cheapest price
$22
Operator
3M Transport (Sari Indah)
Departure Time
08:00PM
Arrival Time
08:56AM
Duration
12h56
Departure days
Mon, Tue, Wed, Fri, Sat, Sun
Cheapest price
$15
Operator
3M Transport (Sari Indah)
Departure Time
09:30PM
Arrival Time
09:58AM
Duration
12h28
Departure days
Everyday
Cheapest price
$15
Operator
3M Transport (Sari Indah)
Departure Time
10:00PM
Arrival Time
10:06AM
Duration
12h06
Departure days
Everyday
Cheapest price
$15

Live departures

Jakarta to Surabaya bus times

The table below shows live departures for Jakarta to Surabaya buses for today, Thursday, September 17. You can also manually refresh the results below to see updated bus journeys.

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)9:30 PM Jakarta, Bus Terminal Kampung Rambutan
12h28
9:58 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)10:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
12h06
10:06 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Friday, September 18
Harapan JayaHARAPAN JAYA6:00 AM Jakarta, Ampera
10h59
4:59 PM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:15 AM Jakarta, Bus Terminal Kalideres
13h00
7:15 PM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:20 AM Jakarta, Cengkareng
13h00
7:20 PM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:30 AM Jakarta, Taman Kota
13h00
7:30 PM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:40 AM Jakarta, Grogol
10h59
5:39 PM Waru, Medaeng0 transfersDirect
Kramat DjatiKRAMAT DJATI7:30 AM Jakarta, Bus Terminal Kampung Rambutan
15h31
11:01 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Kramat DjatiKRAMAT DJATI8:00 AM Jakarta, Cililitan
14h51
10:51 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Kramat DjatiKRAMAT DJATI9:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang
13h30
10:30 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Infobus011:35 AM Jakarta
13h25
1:00 AM Surabaya0 transfersDirect
Harapan JayaHARAPAN JAYA1:45 PM Jakarta, Ampera
10h59
12:44 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA1:45 PM Jakarta, Ampera
10h59
12:44 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Jakarta, Bus Terminal Kalideres
13h00
3:00 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Jakarta, Bus Terminal Kalideres
13h00
3:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:15 PM Jakarta, Cengkareng
13h00
3:15 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:15 PM Jakarta, Cengkareng
12h00
2:15 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:30 PM Jakarta, Taman Kota
13h00
3:30 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:30 PM Jakarta, Taman Kota
13h00
3:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:45 PM Jakarta, Grogol
10h59
1:44 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:45 PM Jakarta, Grogol
10h59
1:44 AM Waru, Medaeng0 transfersDirect
Kramat DjatiKRAMAT DJATI3:30 PM Jakarta, Cililitan
20h15
11:45 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Kramat DjatiKRAMAT DJATI3:30 PM Jakarta, Cililitan
20h55
12:25 PM Surabaya, Arjuna0 transfersDirect
Tiara MasTIARA MAS3:30 PM Jakarta, Bus Terminal Kalideres
12h56
4:26 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA4:00 PM Jakarta, Lebak Bulus
13h00
5:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA4:00 PM Jakarta, Pondok Pinang
13h00
5:00 AM Waru, Medaeng0 transfersDirect
Kramat DjatiKRAMAT DJATI4:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
20h15
12:15 PM Surabaya, Arjuna0 transfersDirect
Kramat DjatiKRAMAT DJATI4:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
19h34
11:34 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA4:30 PM Jakarta, Pasar Rebo
13h00
5:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA4:30 PM Jakarta, Bus Terminal Kampung Rambutan
12h23
4:53 AM Waru, Medaeng0 transfersDirect
MawarMAWAR4:30 PM Jakarta, Bus Terminal Kalideres
12h56
5:26 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Tiara MasTIARA MAS4:30 PM Jakarta, Bus Terminal Lebak Bulus
12h44
5:14 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Tiara MasTIARA MAS4:40 PM Jakarta, Bus Terminal Pondok Pinang
12h37
5:17 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA4:45 PM Jakarta, Pasar Rebo
12h29
5:14 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
6:00 AM Waru, Medaeng0 transfersDirect
MawarMAWAR5:00 PM Jakarta, Bus Terminal Grogol
12h24
5:24 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA5:00 PM Jakarta, Ampera
10h59
3:59 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA5:00 PM Jakarta, Ampera
10h59
3:59 AM Waru, Medaeng0 transfersDirect
Tiara MasTIARA MAS5:00 PM Jakarta, Bus Terminal Kampung Rambutan
12h28
5:28 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA5:30 PM Jakarta, Lebak Bulus
13h00
6:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:30 PM Jakarta, Pondok Pinang
13h00
6:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:30 PM Jakarta, Bus Terminal Kalideres
13h00
6:30 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA5:30 PM Jakarta, Bus Terminal Kalideres
13h00
6:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:45 PM Jakarta, Taman Kota
13h00
6:45 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:45 PM Jakarta, Taman Kota
13h00
6:45 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Jakarta, Pasar Rebo
13h00
7:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Bus Terminal Tanjung Priok, Jakarta Utara
13h30
7:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Bus Terminal Tanjung Priok, Jakarta Utara
10h59
4:59 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
7:30 AM Waru, Medaeng0 transfersDirect
MawarMAWAR6:30 PM Bus Terminal Tanjung Priok, Jakarta Utara
12h28
6:58 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
7:30 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:30 PM Jakarta, Grogol
10h59
5:29 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:30 PM Jakarta, Grogol
10h59
5:29 AM Waru, Medaeng0 transfersDirect
Tiara MasTIARA MAS7:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
12h06
7:06 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
MawarMAWAR7:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
12h06
7:36 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)8:00 PM Jakarta, Bus Terminal Kalideres
12h56
8:56 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect

This is the last bus of the day.

Find all the dates and times for this journey

Compare prices and tickets Jakarta to Surabaya by bus, train, or flight

Compare bus, train, and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.

Fri
Sep 18
Sat
Sep 19
Sun
Sep 20
Mon
Sep 21
Tue
Sep 22
Wed
Sep 23
Thu
Sep 24
Fri
Sep 25
Sat
Sep 26
Sun
Sep 27
Mon
Sep 28
Tue
Sep 29
Wed
Sep 30
Thu
Oct 01
Fri
Oct 02
Sat
Oct 03
Sun
Oct 04
Mon
Oct 05
Tue
Oct 06
Wed
Oct 07
Thu
Oct 08

Why should you book Jakarta to Surabaya buses with Omio?

Harapan Jaya as well as Kramat Djati, 3M Transport (Sari Indah), Kym Trans, Tiara Mas and more offer buses services from Jakarta to Surabaya.
Omio is an official ticket reseller for all your travel options from Jakarta to Surabaya.

Why book with Omio vs Harapan Jaya?

  • Compare with other providers: On Omio, you can not only buy tickets for Harapan Jaya, but also compare tickets for the likes of Kramat Djati, 3M Transport (Sari Indah), Kym Trans or Tiara Mas to find the best option for your trip from Jakarta to Surabaya.
  • Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
  • Compare all your options: Omio allows you to compare Harapan Jaya with all available travel options, which are bus, train and flight to ensure you get the best deal for traveling from Jakarta to Surabaya.

Why book with Omio over Checkmybus, Busbud or Wanderu?

  • Multiple modes of transport: Omio allows you to compare travel options including bus, train and flight to find the ideal travel option from Jakarta to Surabaya.

Journey information

Overview: Bus from Jakarta to Surabaya

IndonesiaIndonesia
IndonesiaIndonesia
Icon of bus

Buses from Jakarta to Surabaya run on average 51 times per day, taking around 13h 7m. Cheap bus tickets for this journey start at $14 (€12) if you book in advance.

There are 51 buses per day. The earliest bus runs at 03:30, the last at 22:00. The fastest bus covers the 411 miles (662 km) distance in 10h 59m.

Fares are the lowest economy prices found on Omio. Early booking often means lower prices. Prices change daily and are subject to availability. Discount cards, coach trips, and booking fees are not included.
Price information
Distance
411 miles (662 km)
Average bus duration
13h 7m
Cheapest ticket price
$14 (€12)
Buses per day
51
Direct buses
51
Fastest bus
10h 59m
First bus
3:30 AM
Last bus
10:00 PM
Cheapest Month
Dec
Cheapest Day
Sun
High Season
Jul - Sep
Low Season
Oct - Dec
Busiest Day
Thu
Least Busy Day
Thu
Best time to book
6 days
Fares are the lowest economy prices found on Omio. Early booking often means lower prices. Prices change daily and are subject to availability. Discount cards, coach trips, and booking fees are not included.
Price information

Bus providers: Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Mawar, Tiara Mas, Infobus from Jakarta to SurabayaYou can travel by bus between Jakarta to Surabaya with Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Mawar, Tiara Mas, Infobus for as low as $14 (€12). When you search for schedules and tickets, Omio will show you the best journey

Infobus

About
Infobus is an international IT company that operates as an online service for finding and purchasing bus, train, and plane tickets, rather than being a bus company itself. Established in 2002, Infobus acts as an intermediary between passengers and various transport carriers, particularly helping smaller bus companies offer online booking services. They utilize their own "BusSystem" to manage routes and ticket sales globally. Infobus covers over 30 countries and 300 cities, offering a wide range of routes and daily departures. While amenities can vary by carrier, Infobus aims to provide affordable and convenient travel with features like online booking, 24/7 support, and prompt notifications.
Luggage & cancellation policy
Average Infobus Duration
12h 45m
Cheapest Infobus Price
$28 (€23)
Infobus frequency
1 a day
Luggage included
One carry-on bag up to 5kg (40x20x25) and one checked bag up to 20kg (50x30x80).
Additional luggage
10€ per additional bag.
Cancellation Policy
You can cancel your ticket up to 24 hours before departure for a partial refund. Cancellations within 24 hours may incur a fee.
Amenities on board the bus
Wifi
Food sold onboard
Seat reservation
Toilets
USB plugs
Accessibility
Assistance; Priority seating; Transport for wheelchairs and mobility aids.
Bikes
Bikes are allowed; may require prior reservation and an additional fee.
Pets
Small pets allowed in carriers; larger pets may require a separate ticket.

Mawar

About
Established in 1997 in Indonesia, operates modern buses with comfortable seating. The main office is located at Jalan Raya Demak No. 63, Surabaya, with services from Terminal Tanjung Priok in Jakarta. Night buses are available, and the service includes accessible travel. Luggage is included in the fare, with excess and bulky luggage allowed for an additional fee. Free onboard WiFi and USB plugs are provided. Pets are not allowed, but bikes are welcome. Food options are available onboard, and seat reservations along with bathrooms ensure a pleasant journey.
Luggage & cancellation policy
Average Mawar Duration
12h 6m
Cheapest Mawar Price
$20 (€16)
Mawar frequency
4 a day
Luggage included
Luggage included in fare; specific size/type not provided.
Additional luggage
Excess luggage and bulky luggage allowed for an additional fee
Amenities on board the bus
Wifi
Food sold onboard
Seat reservation
Toilets
USB plugs

Harapan Jaya

About
Established in 1992 in Indonesia, operates from Kantor Pusat Garasi Klari Gunung Putri with a fleet of various types of buses, including executive class. The service includes accessible travel, luggage included in fare, excess luggage allowed for a fee, free onboard WiFi, USB plugs available, food options onboard, seat reservations permitted, and onboard bathrooms for passenger comfort. Pets and bikes are not allowed.
Luggage & cancellation policy
Average Harapan Jaya Duration
10h 59m
Cheapest Harapan Jaya Price
$21 (€17)
Harapan Jaya frequency
43 a day
Luggage included
Luggage included in fare; specific size/type not provided.
Additional luggage
Excess luggage and bulky luggage allowed for an additional fee
Amenities on board the bus
Food sold onboard
Seat reservation
Toilets

Kramat Djati

About
Established in 1994 in Indonesia, operates from Jl. Ciputat Raya No. 190 Pasar Jumat – Jakarta Selatan with various types of buses, including executive class. The service includes accessible travel, luggage included in fare, excess and bulky luggage allowed for a fee. Free onboard WiFi, USB plugs, food options available, seat reservations permitted, and onboard bathrooms ensure a comfortable journey. Bikes are not allowed; pets are not permitted.
Luggage & cancellation policy
Average Kramat Djati Duration
13h 30m
Cheapest Kramat Djati Price
$21 (€17)
Kramat Djati frequency
7 a day
Luggage included
Luggage included in fare; specific size/type not provided.
Additional luggage
Excess luggage and bulky luggage allowed for an additional fee
Amenities on board the bus
Food sold onboard
Seat reservation
Toilets

Tiara Mas

About
Established in 1992 in Indonesia, operates from Terminal Kali Deres with various types of buses. The service does not include night buses and is not accessible. Luggage is included, but additional luggage is not allowed. Free onboard WiFi and food options are available. Seat reservations and onboard bathrooms ensure a comfortable journey. Pets and bikes are not permitted.
Luggage & cancellation policy
Average Tiara Mas Duration
12h 6m
Cheapest Tiara Mas Price
$21 (€17)
Tiara Mas frequency
5 a day
Amenities on board the bus
Food sold onboard
Seat reservation
Toilets

3M Transport (Sari Indah)

About
Established in Indonesia, operates from Purabaya or Bungurasih Terminal. The service does not offer night buses, accessibility options, luggage inclusion, free WiFi, USB plugs, pet transport, bike accommodation, food onboard, seat reservations, or onboard bathrooms.
Luggage & cancellation policy
Average 3M Transport (Sari Indah) Duration
12h 6m
Cheapest 3M Transport (Sari Indah) Price
$14 (€12)
3M Transport (Sari Indah) frequency
4 a day

FAQs: Bus from Jakarta to Surabaya

Find answers to the most common questions about traveling from Jakarta to Surabaya by bus. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest bus, the cheapest option, or tips for making the most of your visit at Surabaya, this guide helps you travel smarter and with confidence.

FAQs
Cheap bus tickets from Jakarta to Surabaya can start from as little as $14 (€12) when you book in advance. The average bus ticket price for Jakarta to Surabaya is $24 (€20) ; however, prices vary depending on the time of day and class and they tend to be more expensive on the day.
The average journey time by bus from Jakarta to Surabaya is 10h 59m to travel the 411 miles (662 km) long journey. Journey times can vary on weekends and holidays, so use our Journey Planner to search for a specific date.
The earliest bus from Jakarta to Surabaya leaves at 3:30 AM. Plan your trip with the Journey Planner from Omio.
The latest bus from Jakarta to Surabaya leaves at 10:00 PM.
Yes, there are 51 direct buses a day from Jakarta to Surabaya with Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Kym Trans, Tiara Mas, Mawar, Angkasa Trans Jaya. Schedules can vary on holidays or weekends with fewer direct buses.
When taking a bus from Jakarta to Surabaya, you can count on Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Kym Trans, Tiara Mas, Mawar, Angkasa Trans Jaya, Transjakarta for the best way to get you to Surabaya. You can also check all possible bus companies who offer a service between Jakarta and Surabaya and compare the amenities they offer before buying a bus ticket.
When departing from Jakarta , you have various bus station options to start your journey from including Jakarta, Pintu Bus Terminal Pulo Gebang, Jakarta, Bus Terminal Kalideres, Jakarta, Grogol, Jakarta, Pasar Rebo, Jakarta, Ampera, Jakarta, Taman Kota, Jakarta, Bus Terminal Kampung Rambutan, Jakarta, Lebak Bulus, Jakarta, Pondok Pinang, Jakarta, Cengkareng, Bus Terminal Tanjung Priok, Jakarta Utara, Jakarta, Cililitan, Jakarta, Jakarta, Bus Terminal Grogol, Jakarta, Bus Terminal Lebak Bulus, Jakarta, Bus Terminal Pondok Pinang . When arriving in Surabaya , you can end your journey in bus stations like Waru, Medaeng, Waru, Bus Terminal Purabaya/Bungurasih, Surabaya, Arjuna, Surabaya Kota .Passengers board the bus most frequently from Jakarta, Pintu Bus Terminal Pulo Gebang, which is located around 6 miles (11 km) away from the city centre, and they get off the bus at Waru, Medaeng, located 1 away from the city centre.
A trip to Surabaya from Jakarta is worth doing but not as a day trip with a journey time of 10h 59m each way. Check with Omio app the best way to travel.
The cheapest month for a bus from Jakarta to Surabaya is December.
It's helpful to compare your options as there are 3 ways to travel between Jakarta and Surabaya including taking a bus, train, and flight.
No, the bus from Jakarta to Surabaya has no accessibility options.
Yes, there are bathrooms on board the bus from Jakarta to Surabaya for bus company Harapan Jaya, Kramat Djati, Kym Trans, Tiara Mas, Mawar, Angkasa Trans Jaya.
No, bikes are not allowed on board the bus from Jakarta to Surabaya.
Tickets are often cheaper when booked early. Traveling during off-peak hours or on weekdays can help you save money. Sort results by price to quickly identify the most affordable options. Check for promotions or discounts available on our website and app.
Yes, there is food available to purchase on board the bus from Jakarta to Surabaya.
Yes, the following luggage options are included when booking a bus ticket from Jakarta to Surabaya:
  • Kym Trans
    • Luggage size and type allowed on board: Ample luggage space.
  • Harapan Jaya
    • Luggage included in fare
    • specific size/type not provided.
  • Kramat Djati
    • Luggage included in fare
    • specific size/type not provided.
Yes, the following additional luggage options are available when booking a bus ticket from Jakarta to Surabaya:
  • Kym Trans
    • Excess luggage and bulky luggage allowed for an additional fee
  • Harapan Jaya
    • Excess luggage and bulky luggage allowed for an additional fee
  • Kramat Djati
    • Excess luggage and bulky luggage allowed for an additional fee
Unfortunately, pets are not allowed on the bus from Jakarta to Surabaya.
You can reserve your seat on the bus from Jakarta to Surabaya with the following bus company: Harapan Jaya, Kramat Djati, Kym Trans, Tiara Mas, Mawar, Angkasa Trans Jaya
Yes, there are USB plugs on board the bus from Jakarta to Surabaya with the following bus company: Kym Trans, Mawar.
Yes, there is Wifi on board the bus from Jakarta to Surabaya with the following bus company: Mawar.
Since neither Jakarta nor Surabaya are in the Schengen Area, passport requirements depend on the specific immigration rules of Indonesia and Indonesia. Entry and visa requirements can be subject to change. For the latest information, check with your destination's embassy or consulate.
We recommend using the bus as it is the most popular way to get from Jakarta to Surabaya among Omio's users.
The currency used in Indonesia is the Indonesian Rupiah (IDR). For travelers, it is generally better to carry cash, especially in smaller towns and markets where card acceptance may be limited, though cards are widely accepted in major cities and larger establishments.
In Surabaya, travelers should be cautious of petty theft such as pickpocketing, especially in crowded markets and public transport. Common scams include overcharging by taxi drivers and unofficial tour guides. It's advisable to use reputable transportation services and agree on fares beforehand to avoid being overcharged. Always keep an eye on personal belongings and avoid displaying valuables openly.
Pack lightweight, versatile clothing suitable for the destination's climate, and use secure, lockable luggage to protect belongings. Keep essential items like travel documents, medication, and valuables in a carry-on bag for easy access. Use packing organizers or cubes to maximize space and maintain order. Lastly, include a small first aid kit and personal hygiene items for added comfort during travel.

popular bus stations

Popular bus stations from Jakarta to Surabaya

Most Jakarta to Surabaya buses use the Jakarta, Pasar Rebo to Waru, Medaeng station pair, with some services arriving at Waru, Terminal Purabaya/Bungurasih. Use this guide to compare Jakarta and Surabaya bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.

Departure bus stations in Jakarta
Arrival bus stations in Surabaya

Which Jakarta station do buses to Surabaya leave from?

Buses from Jakarta to Surabaya leave from Jakarta, Pintu Terminal Pulo Gebang. The station is 7 miles (12 km) from Jakarta city centre at Jalan Pulo Gebang Raya, East Jakarta, Indonesia.
Jakarta, Pintu Terminal Pulo GebangJalan Pulo Gebang Raya, East Jakarta, IndonesiaWifiParkingDiningATMTaxisAccessibilityWCTicket Office
City-centre transport

Getting to Jakarta, Pintu Terminal Pulo Gebang from Jakarta city centre

Jakarta, Pintu Terminal Pulo Gebang is 11 km from Jakarta city centre. Public transport options include:

TrainBlue · 28m · every ~5 min
Bus11M · 51m · every ~2 min
11Q · 1h 6m · every ~13 min

Jakarta, Pintu Terminal Pulo Gebang bus station facilities and services

Jakarta, Pintu Terminal Pulo Gebang has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.

Food and drink

Food options include: Food court and various food stalls available

Wi-Fi and ATMs

Free Wi-Fi in terminal building. ATMs are several ATMs from different banks.

Tickets and information

Ticket office support is available at Jakarta, Pintu Terminal Pulo Gebang.

Parking, taxis and toilets

Available at Jakarta, Pintu Terminal Pulo Gebang: Parking, Taxis, WC.

Accessibility

Accessibility facilities are available at Jakarta, Pintu Terminal Pulo Gebang: Wheelchair ramps, dedicated assistance.

Jakarta, Terminal KalideresJalan Daan Mogot No.1, Kalideres, West Jakarta, IndonesiaWifiParkingDiningATMTaxisAccessibilityWCTicket Office
City-centre transport

Getting to Jakarta, Terminal Kalideres from Jakarta city centre

Jakarta, Terminal Kalideres is 16 km from Jakarta city centre. Public transport options include:

TrainBlue · 1h 38m · $1 · every ~4 min
Bus3 · 1h 18m · every ~15 min
3F · 1h 22m · every ~43 min

Jakarta, Terminal Kalideres bus station facilities and services

Jakarta, Terminal Kalideres has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.

Food and drink

Food options include: Food stalls and small restaurants available in and around terminal

Wi-Fi and ATMs

Free Wi-Fi available. ATMs are aTMs from several banks available.

Tickets and information

Ticket office support is available at Jakarta, Terminal Kalideres.

Parking, taxis and toilets

Available at Jakarta, Terminal Kalideres: Parking, Taxis, WC.

Accessibility

Accessibility facilities are available at Jakarta, Terminal Kalideres: Ramps available.

Jakarta, GrogolJalan Daan Mogot, Grogol, West Jakarta, IndonesiaParkingDiningATMTaxisAccessibilityWCTicket Office
City-centre transport

Getting to Jakarta, Grogol from Jakarta city centre

Jakarta, Grogol is 8 km from Jakarta city centre. Public transport options include:

Bus2A · 28m · every ~16 min
9, 9A · 55m · every ~42 min

Jakarta, Grogol bus station facilities and services

Jakarta, Grogol has practical services for this route, including Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.

Food and drink

Food options include: Local food stalls and small restaurants nearby

Wi-Fi and ATMs

ATMs are several ATMs from major banks nearby.

Tickets and information

Ticket office support is available at Jakarta, Grogol.

Parking, taxis and toilets

Available at Jakarta, Grogol: Parking, Taxis, WC.

Accessibility

Accessibility facilities are available at Jakarta, Grogol: Basic ramps available.

The Omio App Makes Travel Planning Easy

We’ll get you where you want to go. From live train updates to mobile tickets, our innovative app is the ideal way to plan and keep track of your travel.

ios-badge
android-badge
Hand With Phone