Cheapest price
$16
Average price
$24
Fastest journey
12 h 2 m
Average duration
12 h 2 m
Buses per day
58
Distance
662 km
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 $24 if you buy it on the day, but the cheapest tickets can be found for only $16.
Of the 58 buses that leave Jakarta for Surabaya on Wed, May 14, 58 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, May 14 the direct buses cover the 662 km distance in an average of 12 h 2 m but if you time it right, some buses will get you there in just 12 h 2 m .
On Wed, May 14 the slowest buses will take 12 h 2 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.
Omio recommends booking the flight 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 €13. For those with little time consider booking a flight which can get you there in 1h 47m.
Bus | Most popular Flight |
---|---|
€17 Average price Cheapest | €72 Average price |
12h 56m Average duration 12h 26m Onboard + 30m Additional time* | 4h 47m Average duration Fastest 1h 47m Onboard + 3h 0m Additional time* |
Direct Options | Direct Options |
Provider | Departs | Duration | Arrives | Transfers | Tickets |
---|---|---|---|---|---|
![]() | 7:30 AM Jakarta | 15h31 | 11:01 PM Surabaya | 0 transfersDirect | |
![]() | 7:30 AM Jakarta | 12h37 | 8:07 PM Surabaya | 0 transfersDirect | |
![]() | 7:30 AM Jakarta | 12h44 | 8:14 PM Surabaya | 0 transfersDirect | |
![]() | 7:45 AM Jakarta | 12h36 | 8:21 PM Surabaya | 0 transfersDirect | |
![]() | 7:45 AM Jakarta | 12h27 | 8:12 PM Surabaya | 0 transfersDirect | |
![]() | 8:00 AM Jakarta | 13h30 | 9:30 PM Surabaya | 0 transfersDirect | |
![]() | 8:30 AM Jakarta | 20h15 | 4:45 AM Surabaya | 0 transfersDirect | |
![]() | 8:30 AM Jakarta | 14h51 | 11:21 PM Surabaya | 0 transfersDirect | |
![]() | 9:00 AM Jakarta | 12h41 | 9:41 PM Surabaya | 0 transfersDirect | |
![]() | 9:00 AM Jakarta | 12h25 | 9:25 PM Surabaya | 0 transfersDirect | |
![]() | 9:00 AM Jakarta | 19h34 | 4:34 AM Surabaya | 0 transfersDirect | |
![]() | 9:15 AM Jakarta | 12h37 | 9:52 PM Surabaya | 0 transfersDirect | |
![]() | 9:20 AM Jakarta | 12h28 | 9:48 PM Surabaya | 0 transfersDirect | |
![]() | 9:30 AM Jakarta | 12h27 | 9:57 PM Surabaya | 0 transfersDirect | |
![]() | 9:30 AM Jakarta | 12h23 | 9:53 PM Surabaya | 0 transfersDirect | |
![]() | 9:30 AM Jakarta | 12h29 | 9:59 PM Surabaya | 0 transfersDirect | |
![]() | 9:30 AM Jakarta | 12h36 | 10:06 PM Surabaya | 0 transfersDirect | |
![]() | 9:30 AM Jakarta | 12h56 | 10:26 PM Surabaya | 0 transfersDirect | |
![]() | 9:45 AM Jakarta | 12h29 | 10:14 PM Surabaya | 0 transfersDirect | |
![]() | 10:00 AM Jakarta | 12h02 | 10:02 PM Surabaya | 0 transfersDirect | |
![]() | 10:00 AM Jakarta | 12h24 | 10:24 PM Surabaya | 0 transfersDirect | |
![]() | 10:15 AM Jakarta | 12h06 | 10:21 PM Surabaya | 0 transfersDirect | |
![]() | 10:30 AM Jakarta | 12h25 | 10:55 PM Surabaya | 0 transfersDirect | |
![]() | 10:30 AM Jakarta | 12h41 | 11:11 PM Surabaya | 0 transfersDirect | |
![]() | 10:45 AM Jakarta | 12h02 | 10:47 PM Surabaya | 0 transfersDirect | |
![]() | 10:50 AM Jakarta | 12h37 | 11:27 PM Surabaya | 0 transfersDirect | |
![]() | 11:00 AM Jakarta | 12h29 | 11:29 PM Surabaya | 0 transfersDirect | |
![]() | 11:30 AM Jakarta | 12h02 | 11:32 PM Surabaya | 0 transfersDirect | |
![]() | 11:30 AM Jakarta | 12h28 | 11:58 PM Surabaya | 0 transfersDirect | |
![]() | 11:45 AM Jakarta | 12h06 | 11:51 PM Surabaya | 0 transfersDirect | |
![]() | 12:30 PM Jakarta | 12h06 | 12:36 AM Surabaya | 0 transfersDirect | |
![]() | 1:00 PM Jakarta | 12h56 | 1:56 AM Surabaya | 0 transfersDirect | |
![]() | 2:00 PM Jakarta | 12h28 | 2:28 AM Surabaya | 0 transfersDirect | |
![]() | 2:30 PM Jakarta | 12h28 | 2:58 AM Surabaya | 0 transfersDirect | |
![]() | 3:00 PM Jakarta | 12h06 | 3:06 AM Surabaya | 0 transfersDirect | |
![]() | 11:00 PM Jakarta | 12h27 | 11:27 AM Surabaya | 0 transfersDirect | |
![]() | 11:15 PM Jakarta | 12h53 | 12:08 PM Surabaya | 0 transfersDirect | |
![]() | 11:20 PM Jakarta | 12h28 | 11:48 AM Surabaya | 0 transfersDirect | |
![]() | 11:30 PM Jakarta | 12h25 | 11:55 AM Surabaya | 0 transfersDirect | |
![]() | 11:30 PM Jakarta | 12h37 | 12:07 PM Surabaya | 0 transfersDirect | |
![]() | 11:30 PM Jakarta | 12h41 | 12:11 PM Surabaya | 0 transfersDirect | |
![]() | 11:30 PM Jakarta | 12h37 | 12:07 PM Surabaya | 0 transfersDirect | |
![]() | 11:40 PM Jakarta | 12h27 | 12:07 PM Surabaya | 0 transfersDirect | |
Wednesday, May 14 | |||||
![]() | 12:00 AM Jakarta | 12h28 | 12:28 PM Surabaya | 0 transfersDirect | |
![]() | 12:00 AM Jakarta | 12h29 | 12:29 PM Surabaya | 0 transfersDirect | |
![]() | 12:15 AM Jakarta | 12h02 | 12:17 PM Surabaya | 0 transfersDirect | |
![]() | 12:30 AM Jakarta | 12h02 | 12:32 PM Surabaya | 0 transfersDirect | |
![]() | 12:30 AM Jakarta | 12h06 | 12:36 PM Surabaya | 0 transfersDirect | |
![]() | 4:30 AM Jakarta | 25h39 | 6:09 AM Surabaya | 0 transfersDirect | |
![]() | 4:30 AM Jakarta | 20h15 | 12:45 AM Surabaya | 0 transfersDirect | |
![]() | 6:00 AM Jakarta | 12h25 | 6:25 PM Surabaya | 0 transfersDirect | |
![]() | 6:00 AM Jakarta | 12h41 | 6:41 PM Surabaya | 0 transfersDirect | |
![]() | 6:30 AM Jakarta | 12h29 | 6:59 PM Surabaya | 0 transfersDirect | |
![]() | 7:00 AM Jakarta | 12h02 | 7:02 PM Surabaya | 0 transfersDirect | |
![]() | 7:00 AM Jakarta | 12h27 | 7:27 PM Surabaya | 0 transfersDirect | |
![]() | 7:00 AM Jakarta | 12h30 | 7:30 PM Surabaya | 0 transfersDirect | |
![]() | 7:10 AM Jakarta | 12h53 | 8:03 PM Surabaya | 0 transfersDirect | |
![]() | 7:10 AM Jakarta | 12h57 | 8:07 PM Surabaya | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Distance 411 miles (662 km) |
Average bus duration 12h 26m |
Cheapest ticket price $15 (€13) |
Buses per day 47 |
Direct buses 47 |
Bus providers 6 |
Fastest bus 5h 6m |
First bus 06:00 |
Last bus 22:00 |
For travelers seeking a reliable transportation option, taking a bus from Jakarta to Surabaya is an excellent choice. The journey begins at the bustling Gambir Bus Terminal in Jakarta, and ends at the convenient Bungurasih Bus Terminal in Surabaya. This route offers a wonderful opportunity to experience the diverse scenery along the way, making the bus journey from Jakarta to Surabaya a memorable part of your travel itinerary. Enjoy the hassle-free trip as buses from Jakarta to Surabaya provide a smooth journey suited for all kinds of travelers.
The bus journey between Jakarta and Surabaya includes several notable stops, such as Semarang, Tegal, and Cirebon. Buses operate frequently throughout the day, offering travelers convenience and flexibility in their travel plans. Typically, the first bus departs Jakarta at 06:00, with the last bus leaving at 22:00. This provides ample time for passengers to catch a bus that suits their schedule. Detailed bus timetables are available to help plan your journey effectively.
The distance between Jakarta and Surabaya is approximately 411 miles (662 km), and the bus journey typically takes around 5h 6m to complete. The trip provides a comfortable and scenic view of Indonesia's diverse landscapes, making it a preferred choice for travelers looking to relax and enjoy the ride.
Buses between these two major cities operate daily, ensuring that whether it's a weekday or the weekend, passengers have travel options. With an average of 47 buses running each day, passengers can choose the best time to travel without worrying about missing out on a ride. Whether you're traveling for business or leisure, buses are available to cater to your needs.
Bus journeys between Jakarta and Surabaya offer a comfortable and efficient travel option, operated by reputable bus companies such as Kym Trans, Angkasa Trans Jaya, Harapan Jaya, and 3M Transport (Sari Indah). Travelers can choose from various bus types, including executive and VIP buses, each providing a range of amenities like spacious seating, air conditioning, and entertainment systems to enhance the travel experience. These companies prioritize safety, comfort, and timely services, making bus travel a convenient choice for passengers seeking to journey between Jakarta and Surabaya.
To find the cheapest bus tickets for your trip from Jakarta to Surabaya, follow these tips:
Start your search now and compare ticket prices to find the best deal!
Here are some other resources that might have the information you need