Jakarta to Surabaya bus with Harapan Jaya

Sat, Jun 20
+ Add return
Harapan Jaya
Kramat Djati
3M Transport (Sari Indah)
Kym Trans
Mawar
2,000+ travel companies
Harapan Jaya
Kramat Djati
3M Transport (Sari Indah)
Kym Trans
Mawar
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 and prices for Jun 20

Cheapest price

$15

Average price

$25

Fastest journey

10 h 59 m

Average duration

10 h 59 m

Buses per day

63

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 $25 if you buy it on the day, but the cheapest tickets can be found for only $15.

Fast buses

Of the 63 buses that leave Jakarta for Surabaya on Sat, Jun 20, 63 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Sat, Jun 20 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 Sat, Jun 20 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
    $171One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    9:00 PM12h28
    Jakarta, Bus Terminal Kampung Rambutan
    9:28 AMWaru, Bus Terminal Purabaya/Bungurasih
    $171One-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
    $171One-way
    0 transfers
  • Kramat DjatiKRAMAT DJATI
    4:00 PM20h15
    Jakarta, Pintu Bus Terminal Pulo Gebang
    12:15 PMSurabaya, Arjuna
    $231One-way
    0 transfers

Travel Information

Compare train, bus, 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 prices starting from $15. For those with little time consider booking a flight which can get you there in 1h 31m. The ticket price range depends on the travel mode: a bus costs an average of $15, and a flight costs an average of $52.

Distance: 411 miles (662 km)

Compare bus with

Most popular
Bus
Flight
Train
Driving

$22

Average price

Cheapest

$91

Average price

$26

Average price

$110

Average price

(fuel + tolls)

13h 59m

Average total duration

13h 29m

Onboard

+

30m

Additional time*

4h 31m

Average total duration

Fastest

1h 31m

Onboard

+

3h 0m

Additional time*

9h 44m

Average total duration

9h 14m

Onboard

+

30m

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 $22 (€18).

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

A bus is $4 (€3) less than a train for this route with tickets for a train from Jakarta to Surabaya costing on average $26 (€22).

A bus is $68 (€56) less than a flight for this route with tickets for a flight from Jakarta to Surabaya costing on average $91 (€74).

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

Other travel options to Surabaya take longer:

Train takes on average 9h 14m.

Bus takes on average 13h 29m.

It's helpful to compare your options as there are 3 ways to travel between Jakarta and Surabaya including taking a train, bus, 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 $22 (€18) compared to roughly $110 (€90) in fuel and tolls — a saving of about $88 (€72). The journey takes 13h 29m 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, 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, Tue, Wed, Thu, Sat, Sun
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:15AM
Arrival Time
07:15PM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:20AM
Arrival Time
07:20PM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:30AM
Arrival Time
07:30PM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:40AM
Arrival Time
05:39PM
Duration
10h59
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
07:00AM
Arrival Time
08:00PM
Duration
13h00
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
07:30AM
Arrival Time
08:30PM
Duration
13h00
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$25
Operator
Kramat Djati
Departure Time
11:30AM
Arrival Time
07:45AM
Duration
20h15
Departure days
Everyday
Cheapest price
$24
Operator
Infobus
Departure Time
11:35AM
Arrival Time
01:00AM
Duration
13h25
Departure days
Tue, Wed, Fri, Sun
Cheapest price
$27
Operator
Infobus
Departure Time
12:15PM
Arrival Time
01:00AM
Duration
12h45
Departure days
Sat
Cheapest price
$35
Operator
Harapan Jaya
Departure Time
01:00PM
Arrival Time
02:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
01:30PM
Arrival Time
02:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
02:00PM
Arrival Time
03:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
02:15PM
Arrival Time
01:14AM
Duration
10h59
Departure days
Everyday
Cheapest price
$28
Operator
Harapan Jaya
Departure Time
02:30PM
Arrival Time
03:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$28
Operator
Harapan Jaya
Departure Time
02:45PM
Arrival Time
02:45AM
Duration
12h00
Departure days
Everyday
Cheapest price
$28
Operator
Harapan Jaya
Departure Time
03:00PM
Arrival Time
04:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$28
Operator
Harapan Jaya
Departure Time
03:30PM
Arrival Time
02:29AM
Duration
10h59
Departure days
Everyday
Cheapest price
$28
Operator
Tiara Mas
Departure Time
03:30PM
Arrival Time
04:26AM
Duration
12h56
Departure days
Everyday
Cheapest price
$23
Operator
Kramat Djati
Departure Time
03:30PM
Arrival Time
11:45AM
Duration
20h15
Departure days
Everyday
Cheapest price
$23
Operator
Kramat Djati
Departure Time
04:00PM
Arrival Time
12:15PM
Duration
20h15
Departure days
Everyday
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
04:00PM
Arrival Time
05:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$28
Operator
Tiara Mas
Departure Time
04:30PM
Arrival Time
05:14AM
Duration
12h44
Departure days
Everyday
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
04:30PM
Arrival Time
05:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Tiara Mas
Departure Time
04:40PM
Arrival Time
05:17AM
Duration
12h37
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
04:45PM
Arrival Time
05:45AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
05:00PM
Arrival Time
06:00AM
Duration
13h00
Departure days
Everyday
Cheapest price
$28
Operator
Tiara Mas
Departure Time
05:00PM
Arrival Time
05:28AM
Duration
12h28
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$23
Operator
Kramat Djati
Departure Time
05:00PM
Arrival Time
07:51AM
Duration
14h51
Departure days
Everyday
Cheapest price
$24
Operator
Harapan Jaya
Departure Time
05:30PM
Arrival Time
06:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$28
Operator
Harapan Jaya
Departure Time
05:45PM
Arrival Time
04:44AM
Duration
10h59
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:00PM
Arrival Time
04:59AM
Duration
10h59
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:15PM
Arrival Time
07:15AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:30PM
Arrival Time
07:30AM
Duration
13h00
Departure days
Everyday
Cheapest price
$25
Operator
Harapan Jaya
Departure Time
06:45PM
Arrival Time
05:44AM
Duration
10h59
Departure days
Everyday
Cheapest price
$25
Operator
Tiara Mas
Departure Time
07:00PM
Arrival Time
07:06AM
Duration
12h06
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$23
Operator
3M Transport (Sari Indah)
Departure Time
08:00PM
Arrival Time
08:56AM
Duration
12h56
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$17
Operator
3M Transport (Sari Indah)
Departure Time
09:00PM
Arrival Time
09:28AM
Duration
12h28
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$17
Operator
3M Transport (Sari Indah)
Departure Time
09:30PM
Arrival Time
09:58AM
Duration
12h28
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$15
Operator
3M Transport (Sari Indah)
Departure Time
10:00PM
Arrival Time
10:06AM
Duration
12h06
Departure days
Mon, Tue, Wed, Thu, Sat, Sun
Cheapest price
$17

Live departures

Jakarta to Surabaya bus times

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

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
Harapan JayaHARAPAN JAYA4:00 PM Jakarta, Lebak Bulus
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, Bus Terminal Kampung Rambutan
13h30
5:30 AM Waru, Bus Terminal Purabaya/Bungurasih0 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
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
13h00
5:30 AM Waru, Medaeng0 transfersDirect
Tiara MasTIARA MAS4:30 PM Jakarta, Bus Terminal Lebak Bulus
12h44
5:14 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA4:45 PM Jakarta, Pasar Rebo
13h00
5:45 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
6:00 AM Waru, Medaeng0 transfersDirect
Kramat DjatiKRAMAT DJATI5:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
14h51
7:51 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:45 PM Jakarta, Ampera
10h59
4:44 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA5:45 PM Jakarta, Ampera
10h59
4:44 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Bus Terminal Tanjung Priok, Jakarta Utara
13h30
7:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Jakarta, Pasar Rebo
13h00
7:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Jakarta, Bus Terminal Kalideres
13h00
7:00 AM Waru, Bus Terminal Purabaya/Bungurasih0 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:00 PM Jakarta, Bus Terminal Kalideres
13h00
7:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:15 PM Jakarta, Taman Kota
13h00
7:15 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:15 PM Jakarta, Taman Kota
13h00
7:15 AM Waru, Medaeng0 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, Pintu Bus Terminal Pulo Gebang
13h00
7:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:45 PM Jakarta, Grogol
10h59
5:44 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA6:45 PM Jakarta, Grogol
10h59
5:44 AM Waru, Medaeng0 transfersDirect
Saturday, June 20
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, Pondok Pinang
13h00
7:30 PM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA6:30 AM Jakarta, Lebak Bulus
13h00
7:30 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
Harapan JayaHARAPAN JAYA7:00 AM Jakarta, Pasar Rebo
13h00
8:00 PM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA7:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
8:30 PM Waru, Medaeng0 transfersDirect
Kramat DjatiKRAMAT DJATI11:30 AM Jakarta
25h39
1:09 PM Surabaya, Arjuna0 transfersDirect
Kramat DjatiKRAMAT DJATI11:30 AM Jakarta
20h15
7:45 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Infobus012:15 PM Jakarta
12h45
1:00 AM Surabaya Kota0 transfersDirect
Harapan JayaHARAPAN JAYA1:00 PM Jakarta, Lebak Bulus
13h00
2:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA1:00 PM Jakarta, Pondok Pinang
13h00
2:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA1:30 PM Jakarta, Pasar Rebo
13h00
2:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
3:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:15 PM Jakarta, Ampera
10h59
1:14 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:15 PM Jakarta, Ampera
10h59
1:14 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:30 PM Jakarta, Bus Terminal Kalideres
13h00
3:30 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA2:30 PM Jakarta, Bus Terminal Kalideres
13h00
3:30 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:45 PM Jakarta, Cengkareng
12h00
2:45 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA2:45 PM Jakarta, Cengkareng
13h00
3:45 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA3:00 PM Jakarta, Taman Kota
13h00
4:00 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA3:00 PM Jakarta, Taman Kota
13h00
4:00 AM Waru, Medaeng0 transfersDirect
Harapan JayaHARAPAN JAYA3:30 PM Jakarta, Grogol
10h59
2:29 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Kramat DjatiKRAMAT DJATI3:30 PM Jakarta, Cililitan
15h31
7:01 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Harapan JayaHARAPAN JAYA3:30 PM Jakarta, Grogol
10h59
2:29 AM Waru, Medaeng0 transfersDirect
Kramat DjatiKRAMAT DJATI3:30 PM Jakarta, Cililitan
20h55
12:25 PM Surabaya, Arjuna0 transfersDirect
Kramat DjatiKRAMAT DJATI3:30 PM Jakarta, Cililitan
20h15
11:45 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
Tiara MasTIARA MAS3:30 PM Jakarta, Bus Terminal Kalideres
12h56
4:26 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 train, bus, or flight

Compare train, bus, 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.

Sat
Jun 20
Sun
Jun 21
Mon
Jun 22
Tue
Jun 23
Wed
Jun 24
Thu
Jun 25
Fri
Jun 26
Sat
Jun 27
Sun
Jun 28
Mon
Jun 29
Tue
Jun 30
Wed
Jul 01
Thu
Jul 02
Fri
Jul 03

Why should you book Jakarta to Surabaya buses with Omio?

Harapan Jaya as well as Kramat Djati, 3M Transport (Sari Indah), Kym Trans, Mawar 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 Mawar 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 train, bus 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 train, bus 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 44 times per day, taking around 13h 29m. Cheap bus tickets for this journey start at $15 (€12) if you book in advance.

There are 44 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 29m
Cheapest ticket price
$15 (€12)
Buses per day
44
Direct buses
44
Fastest bus
10h 59m
First bus
3:30 AM
Last bus
10:00 PM
Cheapest Month
Dec
Cheapest Day
Sun
High Season
Jan - Mar
Low Season
Jul - Sep
Busiest Day
Sat
Least Busy Day
Thu
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), Kym Trans, Mawar, Angkasa Trans Jaya, Transjakarta from Jakarta to SurabayaYou can travel by bus between Jakarta to Surabaya with Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Kym Trans, Mawar, Angkasa Trans Jaya, Transjakarta for as low as $15 (€12). When you search for schedules and tickets, Omio will show you the best journey

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 Duration
12h 6m
Cheapest Price
$20 (€16)
Mawar frequency
5 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

Kym Trans

About
Established in 2008 in Malaysia, operates from Jl. Raya Bandara Juanda KM 4.5, Sidoarjo, Jawa Timur. The fleet includes Elf (12-17 people), Medium bus (20-33 people), and Big buses (38-50 and 58 seats). Facilities feature air conditioning, comfortable seating, audio visual equipment, TV box, karaoke, pillows & blankets, toilet, charging points, and ample luggage space. Luggage is included with size restrictions; excess luggage incurs a fee. Free onboard WiFi and USB plugs are available. Pets are not allowed; bikes are welcome. Food options are provided onboard with seat reservations and bathrooms ensuring a pleasant journey.
Luggage & cancellation policy
Average Duration
12h 6m
Cheapest Price
$27 (€22)
Kym Trans frequency
8 a day
Luggage included
Luggage size and type allowed on board: Ample luggage space.
Additional luggage
Excess luggage and bulky luggage allowed for an additional fee
Amenities on board the bus
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 Duration
10h 59m
Cheapest Price
$23 (€19)
Harapan Jaya frequency
38 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 Duration
19h 34m
Cheapest Price
$25 (€21)
Kramat Djati frequency
5 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

Angkasa Trans Jaya

About
Established in 2017 in Indonesia, operates from Ruko Pasar Wisata Tanggulangin B2 no. 21. The fleet includes Executive AC (2+2), Sleeper coaches, and Express services. Night buses are not available. Luggage is included in the fare; specific size/type not provided, with excess and bulky luggage allowed for an additional fee. Free onboard WiFi, USB plugs, food options, seat reservations, and onboard bathrooms ensure a comfortable journey. Pets and bikes are not allowed.
Luggage & cancellation policy
Average Duration
12h 6m
Cheapest Price
$41 (€34)
Angkasa Trans Jaya frequency
2 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

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 Duration
12h 28m
Cheapest Price
$15 (€12)
3M Transport (Sari Indah) frequency
4 a day

Transjakarta

Luggage & cancellation policy
Average Duration
10h 13m
Transjakarta frequency
1 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 $15 (€12) when you book in advance. The average bus ticket price for Jakarta to Surabaya is $22 (€18) ; 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 44 direct buses a day from Jakarta to Surabaya with Harapan Jaya, Kramat Djati, 3M Transport (Sari Indah), Kym Trans, 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, 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.
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 train, bus, and flight.
Yes, there are bathrooms on board the bus from Jakarta to Surabaya for bus company Harapan Jaya, Kramat Djati, Kym Trans, Mawar, Angkasa Trans Jaya.
No, the bus from Jakarta to Surabaya has no accessibility options.
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, 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

Jakarta
Surabaya
The major bus station for departures in Jakarta is Jakarta, Pintu Terminal Pulo Gebang. Find all the information you need to know about services, amenities and connections at Jakarta, Pintu Terminal Pulo Gebang for your trip from Jakarta to Surabaya.
Amenities at bus station
WifiWifi
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-22:00
ticketOfficeHours
Distance to city center
11 km
carConnection
Car connection
Jalan Pulo Gebang Raya
Wifi
Wifi
  • Free Wi-Fi in terminal building
Parking
Parking
  • Large parking area available for cars and motorcycles
Dining
Dining
  • Food court and various food stalls available
Taxis
Taxis
  • Available at designated taxi stand
Accessibility
Accessibility
  • Wheelchair ramps, dedicated assistance
WC
WC
  • Public toilets available
Public transit options for Jakarta, Pintu Terminal Pulo Gebang
  • Bus: Transjakarta, AKAP buses
  • Angkot: Various routes
Amenities at bus station
WifiWifi
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-22:00
ticketOfficeHours
Distance to city center
16 km
carConnection
Car connection
Jalan Daan Mogot
Wifi
Wifi
  • Free Wi-Fi available
Parking
Parking
  • Available for buses and private vehicles
Dining
Dining
  • Food stalls and small restaurants available in and around terminal
Taxis
Taxis
  • Available at designated taxi stands
Accessibility
Accessibility
  • Ramps available
WC
WC
  • Public toilets available
Public transit options for Jakarta, Terminal Kalideres
  • Bus: TransJakarta Corridor 3, 8
  • Angkot: KWK, M26, B11
Amenities at bus station
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-22:00
ticketOfficeHours
Distance to city center
8 km
carConnection
Car connection
Jalan Daan Mogot
Parking
Parking
  • Available in surrounding area
Dining
Dining
  • Local food stalls and small restaurants nearby
Taxis
Taxis
  • Available at designated taxi stands
Accessibility
Accessibility
  • Basic ramps available
WC
WC
  • Public toilets available
Public transit options for Jakarta, Grogol
  • Bus: TransJakarta Corridor 3, 8
  • Angkot: M26, M27

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