Jakarta to Surabaya bus with Harapan Jaya

Fri, Mar 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 Mar 21

Cheapest price

$37

Average price

$42

Fastest journey

10 h 59 m

Average duration

10 h 59 m

Buses per day

49

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

Fast buses

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

On Sat, Mar 21 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, Mar 21 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.

MawarMAWAR
07:30PM12h06
Jakarta, Pintu Bus Terminal Pulo Gebang
07:36AMWaru, Bus Terminal Purabaya/Bungurasih
$371One-way
0 transfers
MawarMAWAR
06:30PM12h28
Bus Terminal Tanjung Priok, Jakarta Utara
06:58AMWaru, Bus Terminal Purabaya/Bungurasih
$391One-way
0 transfers
MawarMAWAR
04:30PM12h56
Jakarta, Bus Terminal Kalideres
05:26AMWaru, Bus Terminal Purabaya/Bungurasih
$391One-way
0 transfers
MawarMAWAR
05:00PM12h24
Jakarta, Bus Terminal Grogol
05:24AMWaru, Bus Terminal Purabaya/Bungurasih
$391One-way
0 transfers
Harapan JayaHARAPAN JAYA
04:45PM13h00
Jakarta, Pasar Rebo
05:45AMWaru, Medaeng
$401One-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 prices starting from $15. For those with little time consider booking a flight which can get you there in 1h 32m. 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

$22

Average price

Cheapest

$85

Average price

$29

Average price

14h 9m

Average total duration

13h 39m

Onboard

+

30m

Additional time*

4h 32m

Average total duration

Fastest

1h 32m

Onboard

+

3h 0m

Additional time*

8h 54m

Average total duration

8h 24m

Onboard

+

30m

Additional time*

Direct Options

Direct Options

Direct Options

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
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:15AM
Arrival Time
07:15PM
Duration
13h00
Departure days
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:20AM
Arrival Time
07:20PM
Duration
13h00
Departure days
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:30AM
Arrival Time
07:30PM
Duration
13h00
Departure days
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:40AM
Arrival Time
05:39PM
Duration
10h59
Departure days
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
07:00AM
Arrival Time
08:00PM
Duration
13h00
Departure days
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
07:30AM
Arrival Time
08:30PM
Duration
13h00
Departure days
Thu, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
09:00AM
Arrival Time
07:59PM
Duration
10h59
Departure days
Sat
Cheapest price
$40
Operator
Harapan Jaya
Departure Time
09:15AM
Arrival Time
10:15PM
Duration
13h00
Departure days
Sat
Cheapest price
$40
Operator
Harapan Jaya
Departure Time
09:30AM
Arrival Time
10:30PM
Duration
13h00
Departure days
Sat
Cheapest price
$40
Operator
Harapan Jaya
Departure Time
09:45AM
Arrival Time
10:45PM
Duration
13h00
Departure days
Sat
Cheapest price
$40
Operator
Harapan Jaya
Departure Time
10:00AM
Arrival Time
08:59PM
Duration
10h59
Departure days
Sat
Cheapest price
$40
Operator
Kramat Djati
Departure Time
11:30AM
Arrival Time
07:45AM
Duration
20h15
Departure days
Thu, Sat, Sun
Cheapest price
$36
Operator
Infobus
Departure Time
11:35AM
Arrival Time
01:00AM
Duration
13h25
Departure days
Thu, Sun
Cheapest price
$45
Operator
Harapan Jaya
Departure Time
01:00PM
Arrival Time
02:00AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
01:30PM
Arrival Time
02:30AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
02:00PM
Arrival Time
03:00AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
02:15PM
Arrival Time
01:14AM
Duration
10h59
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Harapan Jaya
Departure Time
02:30PM
Arrival Time
03:30AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Harapan Jaya
Departure Time
02:45PM
Arrival Time
02:45AM
Duration
12h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Harapan Jaya
Departure Time
03:00PM
Arrival Time
04:00AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Harapan Jaya
Departure Time
03:30PM
Arrival Time
02:29AM
Duration
10h59
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Tiara Mas
Departure Time
03:30PM
Arrival Time
04:26AM
Duration
12h56
Departure days
Thu, Sat, Sun
Cheapest price
$34
Operator
Kramat Djati
Departure Time
04:00PM
Arrival Time
05:30AM
Duration
13h30
Departure days
Thu, Sat, Sun
Cheapest price
$35
Operator
Harapan Jaya
Departure Time
04:00PM
Arrival Time
05:00AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Mawar
Departure Time
04:30PM
Arrival Time
05:26AM
Duration
12h56
Departure days
Thu, Sat, Sun
Cheapest price
$26
Operator
Tiara Mas
Departure Time
04:30PM
Arrival Time
05:14AM
Duration
12h44
Departure days
Thu, Sat, Sun
Cheapest price
$34
Operator
Harapan Jaya
Departure Time
04:30PM
Arrival Time
05:30AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Tiara Mas
Departure Time
04:40PM
Arrival Time
05:17AM
Duration
12h37
Departure days
Thu, Sun
Cheapest price
$34
Operator
Harapan Jaya
Departure Time
04:45PM
Arrival Time
05:45AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Tiara Mas
Departure Time
05:00PM
Arrival Time
05:28AM
Duration
12h28
Departure days
Thu, Sun
Cheapest price
$34
Operator
Mawar
Departure Time
05:00PM
Arrival Time
05:24AM
Duration
12h24
Departure days
Thu, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
05:00PM
Arrival Time
06:00AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Kramat Djati
Departure Time
05:00PM
Arrival Time
07:51AM
Duration
14h51
Departure days
Thu, Sat, Sun
Cheapest price
$35
Operator
Harapan Jaya
Departure Time
05:30PM
Arrival Time
06:30AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$33
Operator
Harapan Jaya
Departure Time
05:45PM
Arrival Time
04:44AM
Duration
10h59
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:00PM
Arrival Time
07:00AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:15PM
Arrival Time
07:15AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
06:30PM
Arrival Time
07:30AM
Duration
13h00
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Mawar
Departure Time
06:30PM
Arrival Time
06:58AM
Duration
12h28
Departure days
Thu, Sat, Sun
Cheapest price
$26
Operator
ESB_7235
Departure Time
06:40PM
Arrival Time
07:08AM
Duration
12h28
Departure days
Thu, Sun
Cheapest price
$40
Operator
Harapan Jaya
Departure Time
06:45PM
Arrival Time
05:44AM
Duration
10h59
Departure days
Thu, Sat, Sun
Cheapest price
$30
Operator
Harapan Jaya
Departure Time
07:00PM
Arrival Time
08:00AM
Duration
13h00
Departure days
Thu, Sun
Cheapest price
$40
Operator
Tiara Mas
Departure Time
07:00PM
Arrival Time
07:06AM
Duration
12h06
Departure days
Thu, Sun
Cheapest price
$34
Operator
Mawar
Departure Time
07:30PM
Arrival Time
07:36AM
Duration
12h06
Departure days
Thu, Sat, Sun
Cheapest price
$26
Operator
ESB_7235
Departure Time
07:30PM
Arrival Time
07:36AM
Duration
12h06
Departure days
Thu, Sun
Cheapest price
$40
Operator
3M Transport (Sari Indah)
Departure Time
08:00PM
Arrival Time
08:56AM
Duration
12h56
Departure days
Thu, Sun
Cheapest price
$18
Operator
3M Transport (Sari Indah)
Departure Time
09:00PM
Arrival Time
09:28AM
Duration
12h28
Departure days
Thu, Sun
Cheapest price
$18
Operator
3M Transport (Sari Indah)
Departure Time
09:30PM
Arrival Time
09:58AM
Duration
12h28
Departure days
Thu, Sun
Cheapest price
$15
Operator
3M Transport (Sari Indah)
Departure Time
10:00PM
Arrival Time
10:06AM
Duration
12h06
Departure days
Thu, Sun
Cheapest price
$18

Live departures

Jakarta to Surabaya bus times

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

Last updated at 7:57 PM
ProviderDepartsDurationArrivesTransfers
Tickets
ESB_144_TIARA_MAS9:30 PM Jakarta
12h44
10:14 AM Surabaya0 transfersDirect
ESB_304_HARAPAN_JAYA11:30 PM Jakarta
13h00
12:30 PM Surabaya0 transfersDirect
Saturday, March 21
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:00 AM Jakarta, Ampera
10h59
12:59 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:15 AM Jakarta, Bus Terminal Kalideres
13h00
3:15 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:30 AM Jakarta, Cengkareng
13h00
3:30 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA2:45 AM Jakarta, Taman Kota
13h00
3:45 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA3:00 AM Jakarta, Grogol
10h59
1:59 PM Waru, Medaeng0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI4:30 AM Jakarta
20h15
12:45 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:00 AM Jakarta, Pondok Pinang
13h00
7:00 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:00 AM Jakarta, Lebak Bulus
13h00
7:00 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA6:30 AM Jakarta, Pasar Rebo
13h00
7:30 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
8:00 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:15 AM Jakarta, Ampera
10h59
6:14 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:15 AM Jakarta, Ampera
10h59
6:14 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:30 AM Jakarta, Bus Terminal Kalideres
13h00
8:30 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:30 AM Jakarta, Bus Terminal Kalideres
13h00
8:30 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:45 AM Jakarta, Cengkareng
12h00
7:45 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA7:45 AM Jakarta, Cengkareng
13h00
8:45 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA8:00 AM Jakarta, Taman Kota
13h00
9:00 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA8:00 AM Jakarta, Taman Kota
13h00
9:00 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA8:30 AM Jakarta, Grogol
10h59
7:29 PM Waru, Medaeng0 transfersDirect
ESB_144_TIARA_MASTIARA MAS8:30 AM Jakarta, Bus Terminal Kalideres
12h56
9:26 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA8:30 AM Jakarta, Grogol
10h59
7:29 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:00 AM Jakarta, Pondok Pinang
13h00
10:00 PM Waru, Medaeng0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI9:00 AM Jakarta, Bus Terminal Kampung Rambutan
13h30
10:30 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI9:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang
19h34
4:34 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:00 AM Jakarta, Lebak Bulus
13h00
10:00 PM Waru, Medaeng0 transfersDirect
ESB_144_TIARA_MASTIARA MAS9:30 AM Jakarta, Bus Terminal Lebak Bulus
12h44
10:14 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:30 AM Jakarta, Pasar Rebo
13h00
10:30 PM Waru, Medaeng0 transfersDirect
ESB_478_MAWARMAWAR9:30 AM Jakarta, Bus Terminal Kalideres
12h56
10:26 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA9:45 AM Jakarta, Pasar Rebo
13h00
10:45 PM Waru, Medaeng0 transfersDirect
ESB_6585_KRAMAT_DJATIKRAMAT DJATI10:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang
14h51
12:51 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_478_MAWARMAWAR10:00 AM Jakarta, Bus Terminal Grogol
12h24
10:24 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
11:00 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:30 AM Jakarta, Lebak Bulus
13h00
11:30 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:30 AM Jakarta, Pondok Pinang
13h00
11:30 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:45 AM Jakarta, Ampera
10h59
9:44 PM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA10:45 AM Jakarta, Ampera
10h59
9:44 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:00 AM Jakarta, Bus Terminal Kalideres
13h00
12:00 AM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:00 AM Jakarta, Pasar Rebo
13h00
12:00 AM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:00 AM Bus Terminal Tanjung Priok, Jakarta Utara
13h30
12:30 AM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:00 AM Bus Terminal Tanjung Priok, Jakarta Utara
10h59
9:59 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:00 AM Jakarta, Bus Terminal Kalideres
13h00
12:00 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:15 AM Jakarta, Taman Kota
13h00
12:15 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:15 AM Jakarta, Taman Kota
13h00
12:15 AM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
12:30 AM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_478_MAWARMAWAR11:30 AM Bus Terminal Tanjung Priok, Jakarta Utara
12h28
11:58 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang
13h00
12:30 AM Waru, Medaeng0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:45 AM Jakarta, Grogol
10h59
10:44 PM Waru, Bus Terminal Purabaya/Bungurasih0 transfersDirect
ESB_304_HARAPAN_JAYAHARAPAN JAYA11:45 AM Jakarta, Grogol
10h59
10:44 PM Waru, Medaeng0 transfersDirect
ESB_478_MAWARMAWAR12:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang
12h06
12:36 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.

Sat
Mar 21
Sun
Mar 22
Mon
Mar 23
Tue
Mar 24
Wed
Mar 25
Thu
Mar 26
Fri
Mar 27

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 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 43 times per day, taking around 13h 39m. Cheap bus tickets for this journey start at $15 (€12) if you book in advance.

There are 43 buses per day. The earliest bus runs at 06:00, 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 39m
Cheapest ticket price
$15 (€12)
Buses per day
43
Direct buses
43
Fastest bus
10h 59m
First bus
06:00
Last bus
22:00
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
7 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
$22 (€18)
Harapan Jaya frequency
37 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 6m
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 6:00 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 43 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 bus, train, and flight.
Yes, there are bathrooms on board the bus from Jakarta to Surabaya for bus company Harapan Jaya, Kym Trans, Kramat Djati, Angkasa Trans Jaya, Mawar.
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, Kym Trans, Kramat Djati, Angkasa Trans Jaya, Mawar
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.

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