Surabaya to Jakarta bus with Harapan Jaya

Mon, Aug 31
+ Add return
Harapan Jaya
3M Transport (Sari Indah)
Pahala Kencana
Kym Trans
Kramat Djati
2,000+ travel companies
Harapan Jaya
3M Transport (Sari Indah)
Pahala Kencana
Kym Trans
Kramat Djati
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 Surabaya to Jakarta

Showing times, prices and bookable tickets for Aug 31

Cheapest price on Aug 31

$20

Average ticket price on Aug 31

$24

Fastest journey on Aug 31

10 h 59 m

Average journey duration on Aug 31

10 h 59 m

Buses on Aug 31

56

Distance

662 km

Cheap tickets

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

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

Fast buses

On Mon, Aug 31, we found 56 buses from Surabaya to Jakarta, including 56 direct services.

On Mon, Aug 31 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 Mon, Aug 31 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)
    7:00 PM12h18
    Waru, Bus Terminal Purabaya/Bungurasih
    7:18 AMJakarta, Pintu Bus Terminal Pulo Gebang
    $201One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    9:00 PM12h18
    Waru, Bus Terminal Purabaya/Bungurasih
    9:18 AMJakarta, Pintu Bus Terminal Pulo Gebang
    $201One-way
    0 transfers
  • Pahala KencanaPAHALA KENCANA
    3:30 PM12h31
    Waru, Bus Terminal Purabaya/Bungurasih
    4:01 AMJakarta, Pintu Bus Terminal Pulo Gebang
    $201One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    7:00 PM12h17
    Waru, Bus Terminal Purabaya/Bungurasih
    7:17 AMJakarta, Bus Terminal Kampung Rambutan
    $201One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    2:00 PM12h18
    Waru, Bus Terminal Purabaya/Bungurasih
    2:18 AMJakarta, Pintu Bus Terminal Pulo Gebang
    $201One-way
    0 transfers

Travel Information

Compare bus, train, and flight for Surabaya to Jakarta

Omio recommends booking the bus as it is the most popular option from Surabaya to Jakarta 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 49m. Average ticket prices depend on the travel mode: a bus costs an average of $24, while a flight costs an average of $99.

Distance: 411 miles (662 km)

Compare bus with

Most popular
Bus
Flight
Train
Driving

$24

Average price

Cheapest

$99

Average price

$113

Average price

(fuel + tolls)

12h 30m

Average total duration

12h 0m

Onboard

+

30m

Additional time*

3h 49m

Average total duration

Fastest

1h 49m

Onboard

+

2h 0m

Additional time*

10h 30m

Average total duration

(door-to-door)

Direct Options

Direct Options

Direct Options

Direct Options

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

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

A bus is $75 less than a flight for this route with tickets for a flight from Surabaya to Jakarta costing on average $99.

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

Other travel options to Jakarta take longer:

Bus takes on average 12h 0m.

It's helpful to compare your options as there are 3 ways to travel between Surabaya and Jakarta including taking a bus, train, and flight.
We recommend using the bus as it is the most popular way to get from Surabaya to Jakarta 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 compared to roughly $113 in fuel and tolls — a saving of about $89. The journey takes 12h 0m versus 10h 30m 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, 3M Transport (Sari Indah), Pahala Kencana, Kym Trans, Kramat Djati, Tiara Mas.

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.

Surabaya to Jakarta Bus Timetables

OperatorDeparture TimeArrival TimeDurationDeparture daysCheapest price
Operator
Harapan Jaya
Departure Time
09:00AM
Arrival Time
08:30PM
Duration
11h30
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
09:10AM
Arrival Time
08:09PM
Duration
10h59
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
09:15AM
Arrival Time
08:14PM
Duration
10h59
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
10:00AM
Arrival Time
11:00PM
Duration
13h00
Departure days
Everyday
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
11:45AM
Arrival Time
10:44PM
Duration
10h59
Departure days
Everyday
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
12:00PM
Arrival Time
11:30PM
Duration
11h30
Departure days
Everyday
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
01:00PM
Arrival Time
02:00AM
Duration
13h00
Departure days
Mon, Tue, Wed, Thu, Fri, Sat
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
02:00PM
Arrival Time
01:30AM
Duration
11h30
Departure days
Everyday
Cheapest price
$22
Operator
3M Transport (Sari Indah)
Departure Time
02:00PM
Arrival Time
02:18AM
Duration
12h18
Departure days
Mon, Sun
Cheapest price
$20
Operator
Harapan Jaya
Departure Time
02:05PM
Arrival Time
01:04AM
Duration
10h59
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
03:00PM
Arrival Time
02:30AM
Duration
11h30
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$30
Operator
Kramat Djati
Departure Time
03:00PM
Arrival Time
10:34AM
Duration
19h34
Departure days
Everyday
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
03:05PM
Arrival Time
02:04AM
Duration
10h59
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$30
Operator
Pahala Kencana
Departure Time
03:30PM
Arrival Time
04:01AM
Duration
12h31
Departure days
Everyday
Cheapest price
$20
Operator
Harapan Jaya
Departure Time
03:45PM
Arrival Time
02:44AM
Duration
10h59
Departure days
Everyday
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
04:00PM
Arrival Time
03:30AM
Duration
11h30
Departure days
Everyday
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
04:01PM
Arrival Time
05:01AM
Duration
13h00
Departure days
Tue, Wed, Thu, Fri, Sat
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
05:00PM
Arrival Time
06:59AM
Duration
13h59
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
05:10PM
Arrival Time
05:42AM
Duration
12h32
Departure days
Tue, Wed, Thu, Fri, Sat
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
05:15PM
Arrival Time
06:15AM
Duration
13h00
Departure days
Tue, Wed, Thu, Fri, Sat
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
05:30PM
Arrival Time
05:00AM
Duration
11h30
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
05:40PM
Arrival Time
04:39AM
Duration
10h59
Departure days
Tue, Wed, Thu, Fri, Sat
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
06:00PM
Arrival Time
05:30AM
Duration
11h30
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
06:10PM
Arrival Time
05:09AM
Duration
10h59
Departure days
Tue, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Tiara Mas
Departure Time
06:45PM
Arrival Time
07:03AM
Duration
12h18
Departure days
Mon, Fri, Sun
Cheapest price
$24
Operator
3M Transport (Sari Indah)
Departure Time
07:00PM
Arrival Time
07:18AM
Duration
12h18
Departure days
Mon, Sun
Cheapest price
$20
Operator
Harapan Jaya
Departure Time
08:30PM
Arrival Time
08:00AM
Duration
11h30
Departure days
Mon, Fri, Sun
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
08:45PM
Arrival Time
07:44AM
Duration
10h59
Departure days
Mon, Fri, Sun
Cheapest price
$22
Operator
3M Transport (Sari Indah)
Departure Time
09:00PM
Arrival Time
09:18AM
Duration
12h18
Departure days
Mon, Sun
Cheapest price
$20

Live departures

Surabaya to Jakarta bus times

The table below shows live departures for Surabaya to Jakarta buses for tomorrow, Monday, August 31. You can also manually refresh the results below to see updated bus journeys.

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
Harapan JayaHARAPAN JAYA9:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA9:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA9:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA9:10 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:09 PM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA9:10 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:09 PM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA9:10 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:09 PM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA10:00 AM Surabaya, Genteng
13h00
11:00 PM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA10:00 AM Surabaya, Genteng
13h00
11:00 PM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA10:00 AM Surabaya, Genteng
13h00
11:00 PM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA10:00 AM Surabaya, Genteng
13h00
11:00 PM Jakarta, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA11:45 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
10:44 PM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA11:45 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
10:44 PM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA11:45 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
10:44 PM Jakarta, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA11:45 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
10:44 PM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA12:00 PM Waru, Medaeng
11h30
11:30 PM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA12:00 PM Waru, Medaeng
11h30
11:30 PM Jakarta, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA12:00 PM Waru, Medaeng
11h30
11:30 PM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA12:00 PM Waru, Medaeng
11h30
11:30 PM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA1:00 PM Surabaya, Genteng
13h00
2:00 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA1:00 PM Surabaya, Genteng
13h00
2:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA1:00 PM Surabaya, Genteng
13h00
2:00 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Surabaya, Genteng
13h00
3:00 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Surabaya, Genteng
13h00
3:00 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Surabaya, Genteng
13h00
3:00 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Waru, Medaeng
11h30
1:30 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Waru, Medaeng
11h30
1:30 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Waru, Medaeng
11h30
1:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)2:00 PM Waru, Bus Terminal Purabaya/Bungurasih
12h18
2:18 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA2:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
1:04 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA2:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
1:04 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA2:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
1:04 AM Jakarta, Pasar Rebo0 transfersDirect
Kramat DjatiKRAMAT DJATI3:00 PM Surabaya, Arjuna
17h53
8:53 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Kramat DjatiKRAMAT DJATI3:00 PM Surabaya, Arjuna
20h15
11:15 AM Jakarta, Bus Terminal Kampung Rambutan0 transfersDirect
Kramat DjatiKRAMAT DJATI3:00 PM Surabaya, Arjuna
18h33
9:33 AM Jakarta, Bus Terminal Kampung Rambutan0 transfersDirect
Kramat DjatiKRAMAT DJATI3:00 PM Surabaya, Arjuna
19h34
10:34 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Pahala KencanaPAHALA KENCANA3:30 PM Waru, Bus Terminal Purabaya/Bungurasih
12h31
4:01 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA3:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:44 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA3:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:44 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA3:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:44 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA4:00 PM Waru, Medaeng
11h30
3:30 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA4:00 PM Waru, Medaeng
11h30
3:30 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA4:00 PM Waru, Medaeng
11h30
3:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Tiara MasTIARA MAS6:45 PM Waru, Bus Terminal Purabaya/Bungurasih
12h36
7:21 AM Jakarta, Bus Terminal Lebak Bulus0 transfersDirect
Tiara MasTIARA MAS6:45 PM Waru, Bus Terminal Purabaya/Bungurasih
12h17
7:02 AM Jakarta, Bus Terminal Kampung Rambutan0 transfersDirect
Tiara MasTIARA MAS6:45 PM Waru, Bus Terminal Purabaya/Bungurasih
12h18
7:03 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)7:00 PM Waru, Bus Terminal Purabaya/Bungurasih
12h17
7:17 AM Jakarta, Bus Terminal Kampung Rambutan0 transfersDirect
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)7:00 PM Waru, Bus Terminal Purabaya/Bungurasih
12h18
7:18 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA8:30 PM Waru, Medaeng
11h30
8:00 AM Jakarta, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA8:30 PM Waru, Medaeng
11h30
8:00 AM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA8:30 PM Waru, Medaeng
11h30
8:00 AM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA8:30 PM Waru, Medaeng
11h30
8:00 AM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA8:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
7:44 AM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA8:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
7:44 AM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA8:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
7:44 AM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA8:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
7:44 AM Jakarta, Bus Terminal Kalideres0 transfersDirect
3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)9:00 PM Waru, Bus Terminal Purabaya/Bungurasih
12h18
9:18 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect

This is the last bus of the day.

Find all the dates and times for this journey

Compare prices and tickets Surabaya to Jakarta 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.

Mon
Aug 31
Tue
Sep 01
Wed
Sep 02
Thu
Sep 03
Fri
Sep 04
Sat
Sep 05
Sun
Sep 06

Why should you book Surabaya to Jakarta buses with Omio?

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

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 3M Transport (Sari Indah), Pahala Kencana, Kym Trans or Kramat Djati to find the best option for your trip from Surabaya to Jakarta.
  • 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 Surabaya to Jakarta.

Why book with Omio over Checkmybus, Busbud or Wanderu?

  • Compare with other providers: On Omio, you can also compare tickets for the likes of 3M Transport (Sari Indah), Pahala Kencana, Kym Trans or Kramat Djati to find the best option for your trip from Surabaya to Jakarta.
  • Multiple modes of transport: Omio allows you to compare travel options including bus, train and flight to find the ideal travel option from Surabaya to Jakarta.

Journey information

Overview: Bus from Surabaya to Jakarta

IndonesiaIndonesia
IndonesiaIndonesia
Icon of bus

Buses from Surabaya to Jakarta run on average 68 times per day, taking around 12h 0m. Cheap bus tickets for this journey start at $16 if you book in advance.

There are 68 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
12h 0m
Cheapest ticket price
$16
Buses per day
68
Direct buses
68
Fastest bus
10h 59m
First bus
3:30 AM
Last bus
10:00 PM
Cheapest Month
Sep
Cheapest Day
Thu
High Season
Jul - Sep
Low Season
Jan - Mar
Busiest Day
Sat
Least Busy Day
Mon
Best time to book
1 day
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, 3M Transport (Sari Indah), Kramat Djati, Tiara Mas, Pahala Kencana from Surabaya to JakartaYou can travel by bus between Surabaya to Jakarta with Harapan Jaya, 3M Transport (Sari Indah), Kramat Djati, Tiara Mas, Pahala Kencana for as low as $16. When you search for schedules and tickets, Omio will show you the best journey

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
$22
Harapan Jaya frequency
70 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
17h 53m
Cheapest Kramat Djati Price
$20
Kramat Djati 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
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 17m
Cheapest Tiara Mas Price
$21
Tiara Mas frequency
3 a day
Amenities on board the bus
Food sold onboard
Seat reservation
Toilets

Pahala Kencana

About
Established in 1995 in Indonesia, operates from various terminals including Kampung Rambutan and Bungurasih. The fleet consists of various types of buses. Luggage is included in the fare, 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 permitted.
Luggage & cancellation policy
Average Pahala Kencana Duration
12h 31m
Cheapest Pahala Kencana Price
$20
Pahala Kencana frequency
1 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 3M Transport (Sari Indah) Duration
12h 17m
Cheapest 3M Transport (Sari Indah) Price
$16
3M Transport (Sari Indah) frequency
4 a day

Complete guide to Jakarta

Things to do in Jakarta

Discover the best of Jakarta — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Jakarta trip today.

  • Must visit

Museum Sejarah Jakarta

Housed in a grand colonial building, this museum introduces Jakarta's history from ancient port city to modern capital.

  • Must visit

Museum Nasional Indonesia

Indonesia's flagship museum displays archaeology, ethnography, and iconic treasures, making it essential for understanding the nation.

  • Must visit

Museum MACAN

A contemporary art institution with rotating exhibitions, public programs, and an accessible introduction to current Indonesian art.

Indonesian rupiah (Rp)

Moderate for Southeast Asia: hotels vary widely, local meals are cheap, malls and nightlife cost more, and transit is low-cost if you use commuter rail or buses.

Average meal costs

Budget
Rp25.000-Rp60.000 for street food or simple meals.
Mid-range
Rp100.000-Rp250.000 per person for a meal.
Fine dining
Rp400.000+ per person for upscale dining.
Coffee
Rp30.000-Rp60.000 for a coffee.

Tipping culture

Tipping is not mandatory. Restaurants may add service charge; otherwise round up or leave 5-10%. Round up taxi fares. Small tips at cafes are appreciated but optional.

FAQs: Bus from Surabaya to Jakarta

Find answers to the most common questions about traveling from Surabaya to Jakarta 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 Jakarta, this guide helps you travel smarter and with confidence.

FAQs
Cheap bus tickets from Surabaya to Jakarta can start from as little as $16 when you book in advance. The average bus ticket price for Surabaya to Jakarta is $24 ; 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 Surabaya to Jakarta 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 Surabaya to Jakarta leaves at 3:30 AM. Plan your trip with the Journey Planner from Omio.
The latest bus from Surabaya to Jakarta leaves at 10:00 PM.
Yes, there are 68 direct buses a day from Surabaya to Jakarta with Harapan Jaya, 3M Transport (Sari Indah), Pahala Kencana, Kym Trans, Kramat Djati, Tiara Mas. Schedules can vary on holidays or weekends with fewer direct buses.
When taking a bus from Surabaya to Jakarta, you can count on Harapan Jaya, 3M Transport (Sari Indah), Pahala Kencana, Kym Trans, Kramat Djati, Tiara Mas, Damri for the best way to get you to Jakarta. You can also check all possible bus companies who offer a service between Surabaya and Jakarta and compare the amenities they offer before buying a bus ticket.
When departing from Surabaya , you have various bus station options to start your journey from including Waru, Bus Terminal Purabaya/Bungurasih, Waru, Medaeng, Surabaya, Genteng, Surabaya, Arjuna . When arriving in Jakarta , you can end your journey in bus stations like Jakarta, Pintu Bus Terminal Pulo Gebang, Jakarta, Pasar Rebo, Jakarta, Lebak Bulus, Jakarta, Ampera, Jakarta, Bus Terminal Kalideres, Jakarta, Grogol, Jakarta, Cengkareng, Jakarta, Bus Terminal Kampung Rambutan, Bus Terminal Tanjung Priok, Jakarta Utara, Jakarta, Bus Terminal Lebak Bulus, Jakarta, Pondok Pinang .Passengers board the bus most frequently from Waru, Bus Terminal Purabaya/Bungurasih, which is located around 0 miles (1 km) away from the city centre, and they get off the bus at Jakarta, Pintu Bus Terminal Pulo Gebang, located 11 away from the city centre.
A trip to Jakarta from Surabaya 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 Surabaya to Jakarta is September.
It's helpful to compare your options as there are 3 ways to travel between Surabaya and Jakarta including taking a bus, train, and flight.
Yes, there are bathrooms on board the bus from Surabaya to Jakarta for bus company Harapan Jaya, Pahala Kencana, Kramat Djati, Kym Trans, Tiara Mas.
No, the bus from Surabaya to Jakarta has no accessibility options.
No, bikes are not allowed on board the bus from Surabaya to Jakarta.
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 Surabaya to Jakarta.
Yes, the following luggage options are included when booking a bus ticket from Surabaya to Jakarta:
  • Kym Trans
    • Luggage size and type allowed on board: Ample luggage space.
  • Harapan Jaya
    • Luggage included in fare
    • specific size/type not provided.
  • Pahala Kencana
    • Luggage included in fare
    • specific size/type not provided.
Yes, the following additional luggage options are available when booking a bus ticket from Surabaya to Jakarta:
  • Kym Trans
    • Excess luggage and bulky luggage allowed for an additional fee
  • Harapan Jaya
    • Excess luggage and bulky luggage allowed for an additional fee
  • Pahala Kencana
    • Excess luggage and bulky luggage allowed for an additional fee
Unfortunately, pets are not allowed on the bus from Surabaya to Jakarta.
You can reserve your seat on the bus from Surabaya to Jakarta with the following bus company: Harapan Jaya, Pahala Kencana, Kramat Djati, Kym Trans, Tiara Mas
Yes, there are USB plugs on board the bus from Surabaya to Jakarta with the following bus company: Kym Trans.
No, there is no WiFi on board the bus from Surabaya to Jakarta.
Since neither Surabaya nor Jakarta 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 Surabaya to Jakarta 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 Jakarta, travelers should be cautious of petty theft, especially pickpocketing in crowded areas and on public transportation. Scams involving overcharging by taxi drivers and unofficial ride-hailing services are common, so it's advisable to use reputable apps or agree on fares beforehand. Avoid accepting unsolicited help from strangers and be wary of counterfeit money when making payments. Traffic safety is also a concern due to heavy congestion and aggressive driving habits. Staying vigilant and using official transportation options can help mitigate these risks.
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 Surabaya to Jakarta

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

Departure bus stations in Surabaya
Arrival bus stations in Jakarta

Which Surabaya station do buses to Jakarta leave from?

Buses from Surabaya to Jakarta leave from Waru, Terminal Purabaya/Bungurasih. The station is 0 miles (1 km) from Surabaya city centre at Jalan Letjen Sutoyo, Waru, Sidoarjo, East Java, Indonesia.
Waru, Terminal Purabaya/BungurasihJalan Letjen Sutoyo, Waru, Sidoarjo, East Java, IndonesiaWifiParkingDiningATMTaxisAccessibilityWCTicket Office
City-centre transport

Getting to Waru, Terminal Purabaya/Bungurasih from Surabaya city centre

Waru, Terminal Purabaya/Bungurasih is 1 km from Surabaya city centre. Public transport options include:

TrainDelta Express, Sri Tanjung · 31m · $9
Delta Express, Sri Tanjung · 36m · $9

Waru, Terminal Purabaya/Bungurasih bus station facilities and services

Waru, Terminal Purabaya/Bungurasih 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 available in terminal. ATMs are several ATMs from different banks.

Tickets and information

Ticket office support is available at Waru, Terminal Purabaya/Bungurasih.

Parking, taxis and toilets

Available at Waru, Terminal Purabaya/Bungurasih: Parking, Taxis, WC.

Accessibility

Accessibility facilities are available at Waru, Terminal Purabaya/Bungurasih: Wheelchair ramps, assistance available.

Waru, MedaengMedaeng, Waru, Sidoarjo Regency, East Java, IndonesiaWifiParkingATMTaxisAccessibilityWCShowerTicket Office
City-centre transport

Getting to Waru, Medaeng from Surabaya city centre

Waru, Medaeng is 1 km from Surabaya city centre. Public transport options include:

TRUE

Waru, Medaeng bus station facilities and services

Waru, Medaeng has practical services for this route, including Wifi, Parking, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.

Wi-Fi and ATMs

Wi-Fi is available at Waru, Medaeng. ATMs are available at Waru, Medaeng.

Tickets and information

Ticket office support is available at Waru, Medaeng.

Parking, taxis and toilets

Available at Waru, Medaeng: Parking, Taxis, WC.

Accessibility

Accessibility facilities are available at Waru, Medaeng: Limited accessibility options.

Surabaya, GentengJalan Genteng Besar, Genteng, Surabaya, East Java, IndonesiaParkingDiningATMTaxisAccessibilityWCTicket Office
City-centre transport

Getting to Surabaya, Genteng from Surabaya city centre

Surabaya, Genteng is 1 km from Surabaya city centre. Public transport options include:

BusP1, P2, P3, P4
AngkotG, WB, JK

Surabaya, Genteng bus station facilities and services

Surabaya, Genteng 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 near terminal.

Tickets and information

Ticket office support is available at Surabaya, Genteng.

Parking, taxis and toilets

Available at Surabaya, Genteng: Parking, Taxis, WC.

Accessibility

Accessibility facilities are available at Surabaya, Genteng: 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