Surabaya to Jakarta bus with Harapan Jaya

Sun, May 31
+ Add return
Harapan Jaya
3M Transport (Sari Indah)
Kym Trans
Tiara Mas
Damri
2,000+ travel companies
Harapan Jaya
3M Transport (Sari Indah)
Kym Trans
Tiara Mas
Damri
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 and prices for May 31

Cheapest price

$21

Average price

$26

Fastest journey

10 h 59 m

Average duration

10 h 59 m

Buses per day

94

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

Fast buses

Of the 94 buses that leave Surabaya for Jakarta on Sun, May 31, 94 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.

On Sun, May 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 Sun, May 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 PM12h17
    Waru, Bus Terminal Purabaya/Bungurasih
    7:17 AMJakarta, Bus Terminal Kampung Rambutan
    $211One-way
    0 transfers
  • 3M Transport (Sari Indah)3M TRANSPORT (SARI INDAH)
    7:00 PM12h18
    Waru, Bus Terminal Purabaya/Bungurasih
    7:18 AMJakarta, Pintu Bus Terminal Pulo Gebang
    $211One-way
    0 transfers
  • Pahala KencanaPAHALA KENCANA
    3:30 PM12h31
    Waru, Bus Terminal Purabaya/Bungurasih
    4:01 AMJakarta, Pintu Bus Terminal Pulo Gebang
    $211One-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
    $211One-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
    $211One-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 prices starting from $16. 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 $16, and a flight costs an average of $44.

Distance: 411 miles (662 km)

Compare bus with

Most popular
Bus
Flight
Train
Driving

$24

Average price

Cheapest

$80

Average price

$29

Average price

$113

Average price

(fuel + tolls)

12h 32m

Average total duration

12h 2m

Onboard

+

30m

Additional time*

4h 31m

Average total duration

Fastest

1h 31m

Onboard

+

3h 0m

Additional time*

10h 6m

Average total duration

9h 36m

Onboard

+

30m

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 (€20).

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

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

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

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

Other travel options to Jakarta take longer:

Train takes on average 9h 36m.

Bus takes on average 12h 2m.

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 (€20) compared to roughly $113 (€91) in fuel and tolls — a saving of about $89 (€71). The journey takes 12h 2m 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 Kym Trans.

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
07:05AM
Arrival Time
06:04PM
Duration
10h59
Departure days
Tue
Cheapest price
$28
Operator
Harapan Jaya
Departure Time
09:00AM
Arrival Time
08:30PM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
09:10AM
Arrival Time
08:09PM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
09:15AM
Arrival Time
08:14PM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
ESB_7235
Departure Time
09:45AM
Arrival Time
10:21PM
Duration
12h36
Departure days
Wed, Fri
Cheapest price
$22
Operator
Harapan Jaya
Departure Time
10:00AM
Arrival Time
11:00PM
Duration
13h00
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
11:45AM
Arrival Time
10:44PM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
12:00PM
Arrival Time
11:30PM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
3M Transport (Sari Indah)
Departure Time
12:00PM
Arrival Time
12:17AM
Duration
12h17
Departure days
Tue
Cheapest price
$19
Operator
Harapan Jaya
Departure Time
01:00PM
Arrival Time
02:00AM
Duration
13h00
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
02:00PM
Arrival Time
01:30AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
3M Transport (Sari Indah)
Departure Time
02:00PM
Arrival Time
02:18AM
Duration
12h18
Departure days
Tue, Sat, Sun
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
02:05PM
Arrival Time
01:04AM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
03:00PM
Arrival Time
02:30AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$30
Operator
Kramat Djati
Departure Time
03:00PM
Arrival Time
10:34AM
Duration
19h34
Departure days
Mon, Wed, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
03:05PM
Arrival Time
02:04AM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$30
Operator
Pahala Kencana
Departure Time
03:30PM
Arrival Time
04:01AM
Duration
12h31
Departure days
Wed, Fri, Sat, Sun
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
03:45PM
Arrival Time
04:45AM
Duration
13h00
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
04:00PM
Arrival Time
03:30AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
04:01PM
Arrival Time
05:01AM
Duration
13h00
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
05:00PM
Arrival Time
04:30AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
05:10PM
Arrival Time
04:09AM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
05:15PM
Arrival Time
06:15AM
Duration
13h00
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
05:30PM
Arrival Time
05:00AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
05:40PM
Arrival Time
04:39AM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
06:00PM
Arrival Time
05:30AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Harapan Jaya
Departure Time
06:10PM
Arrival Time
05:09AM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$26
Operator
Pahala Kencana
Departure Time
06:30PM
Arrival Time
07:38AM
Duration
13h08
Departure days
Sat
Cheapest price
$22
Operator
Tiara Mas
Departure Time
06:45PM
Arrival Time
07:03AM
Duration
12h18
Departure days
Sat, Sun
Cheapest price
$22
Operator
3M Transport (Sari Indah)
Departure Time
07:00PM
Arrival Time
07:18AM
Duration
12h18
Departure days
Sat, Sun
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
08:30PM
Arrival Time
08:00AM
Duration
11h30
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
Harapan Jaya
Departure Time
08:45PM
Arrival Time
07:44AM
Duration
10h59
Departure days
Mon, Wed, Thu, Fri, Sat, Sun
Cheapest price
$23
Operator
3M Transport (Sari Indah)
Departure Time
09:00PM
Arrival Time
09:18AM
Duration
12h18
Departure days
Sat, Sun
Cheapest price
$21
Operator
Harapan Jaya
Departure Time
09:00PM
Arrival Time
08:30AM
Duration
11h30
Departure days
Mon, Thu, Sun
Cheapest price
$33
Operator
Harapan Jaya
Departure Time
09:15PM
Arrival Time
08:14AM
Duration
10h59
Departure days
Mon, Thu, Sun
Cheapest price
$33

Live departures

Surabaya to Jakarta bus times

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

Last updated at
ProviderDepartsDurationArrivesTransfers
Tickets
Harapan JayaHARAPAN JAYA11:45 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
10:44 PM Jakarta, Grogol0 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, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA11:45 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
10:44 PM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA12:00 PM Waru, Medaeng
11h30
11:30 PM Jakarta, Cengkareng0 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, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA12:00 PM Waru, Medaeng
11h30
11:30 PM Jakarta, Ampera0 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, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA1:00 PM Surabaya, Genteng
13h00
2:00 AM Jakarta, Lebak Bulus0 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:00 PM Waru, Medaeng
11h30
1:30 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Waru, Medaeng
11h30
1:30 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 Waru, Medaeng
11h30
1:30 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Surabaya, Genteng
13h00
3:00 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA2:00 PM Surabaya, Genteng
13h00
3:00 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, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA2:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
1:04 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Kramat DjatiKRAMAT DJATI3:00 PM Surabaya, Arjuna
18h33
9:33 AM Jakarta, Bus Terminal Kampung Rambutan0 transfersDirect
Harapan JayaHARAPAN JAYA3:00 PM Waru, Medaeng
11h30
2:30 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
19h34
10:34 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
Harapan JayaHARAPAN JAYA3:00 PM Waru, Medaeng
11h30
2:30 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA3:00 PM Waru, Medaeng
11h30
2:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA3:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:04 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA3:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:04 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA3:05 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:04 AM Jakarta, Lebak Bulus0 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, Lebak Bulus0 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 Surabaya, Genteng
13h00
4:45 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA3:45 PM Surabaya, Genteng
13h00
4:45 AM Bus Terminal Tanjung Priok, Jakarta Utara0 transfersDirect
Harapan JayaHARAPAN JAYA3:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
2:44 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
Harapan JayaHARAPAN JAYA4:00 PM Waru, Medaeng
11h30
3:30 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA4:01 PM Surabaya, Genteng
13h00
5:01 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA5:00 PM Waru, Medaeng
13h59
6:59 AM Bus Terminal Tanjung Priok, Jakarta Utara0 transfersDirect
Harapan JayaHARAPAN JAYA5:00 PM Waru, Medaeng
11h30
4:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA5:10 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
4:09 AM Bus Terminal Tanjung Priok, Jakarta Utara0 transfersDirect
Harapan JayaHARAPAN JAYA5:10 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
4:09 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA5:15 PM Surabaya, Genteng
13h00
6:15 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA5:15 PM Surabaya, Genteng
13h00
6:15 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA5:15 PM Surabaya, Genteng
13h00
6:15 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA5:30 PM Waru, Medaeng
11h30
5:00 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA5:40 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
4:39 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Waru, Medaeng
11h30
5:30 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Waru, Medaeng
11h30
5:30 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA6:00 PM Waru, Medaeng
11h30
5:30 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Harapan JayaHARAPAN JAYA6:10 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
5:09 AM Jakarta, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA6:10 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
5:09 AM Jakarta, Pasar Rebo0 transfersDirect
Harapan JayaHARAPAN JAYA6:10 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
5:09 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Pahala KencanaPAHALA KENCANA6:30 PM Waru, Bus Terminal Purabaya/Bungurasih
13h08
7:38 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 transfersDirect
Tiara MasTIARA MAS6:45 PM Waru, Bus Terminal Purabaya/Bungurasih
12h18
7:03 AM Jakarta, Pintu Bus Terminal Pulo Gebang0 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
12h36
7:21 AM Jakarta, Bus Terminal Lebak Bulus0 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
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
Harapan JayaHARAPAN JAYA8:30 PM Waru, Medaeng
11h30
8:00 AM Jakarta, Grogol0 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, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA8:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
7:44 AM Jakarta, Bus Terminal Kalideres0 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, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA8:45 PM Waru, Bus Terminal Purabaya/Bungurasih
10h59
7:44 AM Jakarta, Grogol0 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
Sunday, May 31
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:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA9:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA9:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA9:00 AM Waru, Medaeng
11h30
8:30 PM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA9:10 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:09 PM Jakarta, Pintu Bus Terminal Pulo Gebang0 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, Lebak Bulus0 transfersDirect
Harapan JayaHARAPAN JAYA9:15 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:14 PM Jakarta, Cengkareng0 transfersDirect
Harapan JayaHARAPAN JAYA9:15 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:14 PM Jakarta, Bus Terminal Kalideres0 transfersDirect
Harapan JayaHARAPAN JAYA9:15 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:14 PM Jakarta, Grogol0 transfersDirect
Harapan JayaHARAPAN JAYA9:15 AM Waru, Bus Terminal Purabaya/Bungurasih
10h59
8:14 PM Jakarta, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA10:00 AM Surabaya, Genteng
13h00
11:00 PM Jakarta, Bus Terminal Kalideres0 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, Ampera0 transfersDirect
Harapan JayaHARAPAN JAYA10:00 AM Surabaya, Genteng
13h00
11:00 PM Jakarta, Grogol0 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.

Sun
May 31
Mon
Jun 01
Tue
Jun 02
Wed
Jun 03
Thu
Jun 04
Fri
Jun 05
Sat
Jun 06
Sun
Jun 07
Mon
Jun 08
Tue
Jun 09
Wed
Jun 10
Thu
Jun 11
Fri
Jun 12
Sat
Jun 13

Why should you book Surabaya to Jakarta buses with Omio?

Harapan Jaya as well as 3M Transport (Sari Indah), Kym Trans, Tiara Mas, Damri 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), Kym Trans, Tiara Mas or Damri 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?

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

There are 66 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 2m
Cheapest ticket price
$16 (€13)
Buses per day
66
Direct buses
66
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
Wed
Least Busy Day
Mon
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), Kym Trans, Tiara Mas, Damri from Surabaya to JakartaYou can travel by bus between Surabaya to Jakarta with Harapan Jaya, 3M Transport (Sari Indah), Kym Trans, Tiara Mas, Damri for as low as $16 (€13). When you search for schedules and tickets, Omio will show you the best journey

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
Kym Trans frequency
9 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)
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 Duration
12h 17m
Cheapest Price
$24 (€19)
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 17m
Cheapest Price
$16 (€13)

Damri

Luggage & cancellation policy
Average Duration
11h 42m
Damri frequency
1 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 Nasional Indonesia

Indonesia’s main archaeology and history museum, known for major collections of sculptures, gold, ethnography, and prehistory exhibits.

  • Must visit

Museum MACAN

Leading contemporary art museum in Jakarta with international and Indonesian exhibitions, popular for immersive installations and modern curation.

  • Must visit

Museum Sejarah Jakarta

Also called Jakarta History Museum, this former city hall in Kota Tua presents the story of Batavia and old Jakarta.

Indonesian Rupiah

Food, taxis, and daily expenses are low for most visitors, while hotels range from budget to upscale.

Average meal costs

Budget
IDR 30,000-60,000 for street food or simple local meals.
Mid-range
IDR 100,000-250,000 per person at casual restaurants.
Fine dining
IDR 500,000+ per person at upscale venues.
Coffee
IDR 25,000-50,000 for a coffee.

Tipping culture

Service charge is often included in restaurants and hotels. If not, 5-10% is appreciated. Round up for taxis and tip porters or spa staff modestly.

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 (€13) when you book in advance. The average bus ticket price for Surabaya to Jakarta is $24 (€20) ; however, prices vary depending on the time of day and class and they tend to be more expensive on the day.
The average journey time by bus from 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 66 direct buses a day from Surabaya to Jakarta with Kym Trans. 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), Kym Trans, 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, Grogol, Jakarta, Bus Terminal Kalideres, Jakarta, Ampera, 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 1 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.
No, the bus from Surabaya to Jakarta has no accessibility options.
Yes, there are bathrooms on board the bus from Surabaya to Jakarta for bus company Harapan Jaya, Kym Trans, Tiara Mas.
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.
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
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, 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

Surabaya
Jakarta
The major bus station for departures in Surabaya is Waru, Terminal Purabaya/Bungurasih. Find all the information you need to know about services, amenities and connections at Waru, Terminal Purabaya/Bungurasih for your trip from Surabaya to Jakarta.
Amenities at bus station
WifiWifi
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 04:00-24:00
ticketOfficeHours
Distance to city center
1 km
carConnection
Car connection
Via Waru Highway and Ahmad Yani Street
Wifi
Wifi
  • Free Wi-Fi available in terminal
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, assistance available
WC
WC
  • Public toilets available with fee
Public transit options for Waru, Terminal Purabaya/Bungurasih
  • Bus: City buses, intercity buses
  • Angkot (shared taxi)
Amenities at bus station
ParkingParking
DiningDining
ATMATM
TaxisTaxis
AccessibilityAccessibility
WCWC
Ticket OfficeTicket Office
information
ticketOfficeHours
Ticket Office Hours
  • 05:00-21:00
ticketOfficeHours
Distance to city center
1 km
carConnection
Car connection
Jalan Genteng Besar
Parking
Parking
  • Street parking available
Dining
Dining
  • Local food stalls and small restaurants nearby
Taxis
Taxis
  • Available at designated taxi stand
Accessibility
Accessibility
  • Basic ramps available
WC
WC
  • Public toilets available
Public transit options for Surabaya, Genteng
  • Bus: P1, P2, P3, P4
  • Angkot: G, WB, JK

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