Which bus from Jakarta to Surabaya is the best?
Check the bus schedule for Jakarta to Surabaya. Here is a selection of the cheapest coach trips for the next days from bus operators like Harapan Jaya, Kramat Djati or MTrans. To see the full timetable for all coaches just use or search and compare.
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Angkasa Trans Jaya | 20h 30m | 19:30 | Jakarta | Terminal Pulo Gebang | 16:00 | Surabaya | Central Station | Economy | £13 |
A Bus from Angkasa Trans Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 03/08/2026 19:30:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 16:00:00. 50 Economy ticket for £13 per person are available. Travel duration is 20h 30m
|
||
| Gunung Harta | 17h 30m | 12:00 | Jakarta | Terminal Manggarai | 05:30 | Surabaya | Central Station | Economy | £14 |
A Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 05:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
|
||
| Haryanto Bojonegoro | 14h 15m | 08:30 | Jakarta | Terminal Manggarai | 22:45 | Surabaya | Central Station | Economy | £14 |
A Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 03/08/2026 22:45:00. 50 Economy ticket for £14 per person are available. Travel duration is 14h 15m
|
||
| Tiara Mas | 12h 28m | 17:00 | Jakarta | Terminal Kampung Rambutan | 05:28 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 03/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 04/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
|
||
| Harapan Jaya | 13h 0m | 06:15 | Jakarta | Kalideres Central Bus Station | 19:15 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 03/08/2026 06:15:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 03/08/2026 19:15:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kramat Djati | 23h 37m | 13:00 | Jakarta | Kalideres Central Bus Station | 12:37 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Kramat Djati goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 04/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 12:37:00. 50 Economy ticket for £14 per person are available. Travel duration is 23h 37m
|
||
| Kramat Djati | 19h 34m | 16:00 | Jakarta | Terminal Pulo Gebang | 11:34 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 11:34:00. 50 Economy ticket for £14 per person are available. Travel duration is 19h 34m
|
||
| Tiara Mas | 12h 56m | 15:30 | Jakarta | Kalideres Central Bus Station | 04:26 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 04/08/2026 15:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 04:26:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 56m
|
||
| Tiara Mas | 12h 6m | 19:00 | Jakarta | Terminal Pulo Gebang | 07:06 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 19:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 07:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 6m
|
||
| Harapan Jaya | 14h 30m | 06:00 | Jakarta | Jalan Ciputat Bus Stop | 20:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 04/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 04/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tiara Mas | 12h 28m | 17:00 | Jakarta | Terminal Kampung Rambutan | 05:28 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 05/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
|
||
| Harapan Jaya | 13h 0m | 06:30 | Jakarta | Lebak Bulus | 19:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 05/08/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 19:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
||
| Harapan Jaya | 13h 0m | 13:00 | Jakarta | Lebak Bulus | 02:00 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 05/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 02:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
||
| Kramat Djati | 13h 30m | 16:00 | Jakarta | Terminal Kampung Rambutan | 05:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £16 |
A Bus from Kramat Djati goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 05/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 05:30:00. 50 Economy ticket for £16 per person are available. Travel duration is 13h 30m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kramat Djati | 21h 36m | 14:30 | Jakarta | Terminal Pondok Pinang | 12:06 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 06/08/2026 14:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 12:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 21h 36m
|
||
| Kramat Djati | 19h 34m | 16:00 | Jakarta | Terminal Pulo Gebang | 11:34 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 11:34:00. 50 Economy ticket for £14 per person are available. Travel duration is 19h 34m
|
||
| Tiara Mas | 12h 6m | 19:00 | Jakarta | Terminal Pulo Gebang | 07:06 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 19:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 07:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 6m
|
||
| Harapan Jaya | 13h 0m | 06:30 | Jakarta | Lebak Bulus | 19:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 06/08/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 19:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
||
| Harapan Jaya | 13h 0m | 13:00 | Jakarta | Lebak Bulus | 02:00 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 06/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 02:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kramat Djati | 21h 36m | 14:30 | Jakarta | Terminal Pondok Pinang | 12:06 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 07/08/2026 14:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 12:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 21h 36m
|
||
| Tiara Mas | 12h 28m | 17:00 | Jakarta | Terminal Kampung Rambutan | 05:28 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 07/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
|
||
| Harapan Jaya | 14h 30m | 06:00 | Jakarta | Jalan Ciputat Bus Stop | 20:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 07/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
|
||
| Harapan Jaya | 14h 30m | 12:30 | Jakarta | Jalan Ciputat Bus Stop | 03:00 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 07/08/2026 12:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
|
||
| Kramat Djati | 16h 52m | 15:00 | Jakarta | Terminal Pondok Pinang | 07:52 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 07/08/2026 15:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 07:52:00. 50 Economy ticket for £15 per person are available. Travel duration is 16h 52m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tiara Mas | 12h 56m | 15:30 | Jakarta | Kalideres Central Bus Station | 04:26 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 08/08/2026 15:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 09/08/2026 04:26:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 56m
|
||
| Tiara Mas | 12h 28m | 17:00 | Jakarta | Terminal Kampung Rambutan | 05:28 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 08/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 09/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
|
||
| Harapan Jaya | 13h 0m | 06:30 | Jakarta | Lebak Bulus | 19:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 08/08/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 19:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
||
| Harapan Jaya | 13h 0m | 13:00 | Jakarta | Lebak Bulus | 02:00 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 08/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 09/08/2026 02:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
||
| Kramat Djati | 21h 36m | 14:30 | Jakarta | Terminal Pondok Pinang | 12:06 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 08/08/2026 14:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 09/08/2026 12:06:00. 50 Economy ticket for £15 per person are available. Travel duration is 21h 36m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sarwonadhi Trans | 10h 40m | 09:00 | Jakarta | Teuku Umar 8 Coach Station | 18:40 | Surabaya | Central Station | Economy | £11 |
A Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 09/08/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 09/08/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Sarwonadhi Trans | 12h 0m | 16:30 | Jakarta | Teuku Umar 8 Coach Station | 03:30 | Surabaya | Central Station | Economy | £11 |
A Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 09/08/2026 16:30:00 to Central Station, Surabaya (Indonesia) arriving at 10/08/2026 03:30:00. 50 Economy ticket for £11 per person are available. Travel duration is 12h 0m
|
||
| Tiara Mas | 12h 28m | 17:00 | Jakarta | Terminal Kampung Rambutan | 05:28 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £14 |
A Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 09/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 10/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
|
||
| Harapan Jaya | 13h 0m | 06:30 | Jakarta | Lebak Bulus | 19:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 09/08/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 09/08/2026 19:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
||
| Harapan Jaya | 13h 0m | 13:00 | Jakarta | Lebak Bulus | 02:00 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £15 |
A Bus from Harapan Jaya goes from Lebak Bulus, Jakarta (Indonesia) at 09/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 10/08/2026 02:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
|
Best Price Offer: The price for the cheapest coach from Jakarta to Surabaya is £8 on 17/08/2026. Flexible travellers save on ticket prices.
What is the best day and time to travel by bus between Jakarta and Surabaya?
All facts for Jakarta to Surabaya bus at a glance
Compare all coach operators like Harapan Jaya, Kramat Djati and MTrans that travel daily 29 times by bus from Jakarta to Surabaya in one click. Book your Jakarta to Surabaya bus ticket starting from £8!
| Cheapest Bus | £8 |
| Fastest Bus | 9h 30m |
| Earliest Coach | 06:15 |
| Latest Coach | 18:15 |
| Daily Bus Connections | 29 Ø |
| Distance | 662.2 km |
| Coach Companies | Harapan Jaya, Kramat Djati, MTrans, Tiara Mas, Medali Mas, Haryanto Bojonegoro, Gunung Harta, Agra mas, Sarwonadhi Trans and Angkasa Trans Jaya |
What are the cheapest coach tickets from Jakarta to Surabaya?
Every day, 29 buses from 10 coach companies leave Jakarta for Surabaya. Check the table below to find the cheapest prices for coach tickets for this route, starting from 03/08/2026 and for the following days. Make sure get the cheapest bus ticket!
The cheapest time to travel from Jakarta to Surabaya
How to save money travelling from Jakarta to Surabaya
Book the ticket from Jakarta to Surabaya in advance! The earlier you book, the cheaper usually the price is. Also, you will be sure to have a place on the coach from Jakarta to Surabaya, compared instead if you buy it at the last moment, or directly at the station.
If you can, avoid travelling at peak times. Instead of weekend, try travelling during the week. Travelling in the evening or at night it’s also cheaper, and later coaches from Jakarta to Surabaya are also emptier.Check for bus deals and promotions for all bus companies in this route. On CheckMyBus we show special offers directly in the coach trip on our search. Sign-up and check or deals sections and get notifications on our latest travel hacks.
All bus stations and stops in Jakarta and Surabaya
Here is a map with all coach stations in Jakarta and Surabaya. Compare which stop is closest to your destination to save time to find the fastest buses and connections.
All you need to know when you travel by bus from Jakarta to Surabaya
FAQs for Jakarta to Surabaya bus
How much does a Jakarta Surabaya coach trip cost?
How much could I save by comparing buses from Jakarta to Surabaya?
How many connections are available for the Jakarta Surabaya route on average every day?
How long does a bus to Surabaya from Jakarta take?
What time is the first bus from Jakarta to Surabaya?
What time is the last coach from Jakarta to Surabaya?
Which bus companies serve the Jakarta Surabaya route?
Is there a direct bus between Jakarta and Surabaya?
What can I take with me on the bus to Surabaya from Jakarta?
What equipment is available for the Jakarta Surabaya bus route?
How does CheckMyBus find the best coach deals from Jakarta to Surabaya?
How does CheckMyBus technology work for trips from Jakarta to Surabaya?
Available seat classes which are offered on the bus route Jakarta to Surabaya
The cheapest option available for your ticket, it usually comes with reclinable seats and AC.
