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, Medali Mas or Haryanto Bojonegoro. 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 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Medali Mas | 12h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 06:00 | Surabaya | Central Station | Business | £8 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 18/06/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 19/06/2026 06:00:00. 50 Business ticket for £8 per person are available. Travel duration is 12h 30m
|
||
| Harapan Jaya | 10h 0m | 13:15 | Jakarta | Cililitan Besar Bus Stop | 23:15 | Surabaya | Sidotopo Bus Station | Economy | £11 |
A Bus from Harapan Jaya goes from Cililitan Besar Bus Stop, Jakarta (Indonesia) at 18/06/2026 13:15:00 to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 18/06/2026 23:15:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 0m
|
||
| Sarwonadhi Trans | 9h 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 18/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 18/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 9h 40m
|
||
| Kramat Djati | 16h 0m | 14:30 | Jakarta | Terminal Manggarai | 06:30 | Surabaya | Central Station | Economy | £12 |
A Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 18/06/2026 14:30:00 to Central Station, Surabaya (Indonesia) arriving at 19/06/2026 06:30:00. 50 Economy ticket for £12 per person are available. Travel duration is 16h 0m
|
||
| Pahala Kencana | 15h 45m | 13:50 | Jakarta | Terminal Manggarai | 05:35 | Surabaya | Central Station | Economy | £13 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 18/06/2026 13:50:00 to Central Station, Surabaya (Indonesia) arriving at 19/06/2026 05:35:00. 50 Economy ticket for £13 per person are available. Travel duration is 15h 45m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Medali Mas | 13h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 06:00 | Surabaya | Central Station | Business | £8 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 19/06/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 20/06/2026 06:00:00. 50 Business ticket for £8 per person are available. Travel duration is 13h 30m
|
||
| 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 19/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 19/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Kramat Djati | 17h 30m | 13:00 | Jakarta | Terminal Manggarai | 06:30 | Surabaya | Central Station | Economy | £12 |
A Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 19/06/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 20/06/2026 06:30:00. 50 Economy ticket for £12 per person are available. Travel duration is 17h 30m
|
||
| Pahala Kencana | 16h 10m | 13:35 | Jakarta | Terminal Manggarai | 05:45 | Surabaya | Central Station | Economy | £13 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 19/06/2026 13:35:00 to Central Station, Surabaya (Indonesia) arriving at 20/06/2026 05:45:00. 50 Economy ticket for £13 per person are available. Travel duration is 16h 10m
|
||
| 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 19/06/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 20/06/2026 05:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Medali Mas | 13h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 06:00 | Surabaya | Central Station | Business | £8 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 20/06/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 21/06/2026 06:00:00. 50 Business ticket for £8 per person are available. Travel duration is 13h 30m
|
||
| 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 20/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 20/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Kramat Djati | 17h 30m | 13:00 | Jakarta | Terminal Manggarai | 06:30 | Surabaya | Central Station | Economy | £12 |
A Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 20/06/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 21/06/2026 06:30:00. 50 Economy ticket for £12 per person are available. Travel duration is 17h 30m
|
||
| Pahala Kencana | 17h 55m | 12:25 | Jakarta | Terminal Manggarai | 06:20 | Surabaya | Central Station | Economy | £13 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 20/06/2026 12:25:00 to Central Station, Surabaya (Indonesia) arriving at 21/06/2026 06:20:00. 50 Economy ticket for £13 per person are available. Travel duration is 17h 55m
|
||
| 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 20/06/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 21/06/2026 05:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Medali Mas | 13h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 06:00 | Surabaya | Central Station | Business | £8 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 21/06/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 22/06/2026 06:00:00. 50 Business ticket for £8 per person are available. Travel duration is 13h 30m
|
||
| 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 21/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 21/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Pahala Kencana | 16h 0m | 13:35 | Jakarta | Terminal Manggarai | 05:35 | Surabaya | Central Station | Economy | £13 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 21/06/2026 13:35:00 to Central Station, Surabaya (Indonesia) arriving at 22/06/2026 05:35:00. 50 Economy ticket for £13 per person are available. Travel duration is 16h 0m
|
||
| 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 21/06/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 22/06/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 21/06/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 21/06/2026 22:45:00. 50 Economy ticket for £14 per person are available. Travel duration is 14h 15m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Medali Mas | 12h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 06:00 | Surabaya | Central Station | Business | £8 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 22/06/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 23/06/2026 06:00:00. 50 Business ticket for £8 per person are available. Travel duration is 12h 30m
|
||
| Sarwonadhi Trans | 9h 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 22/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 22/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 9h 40m
|
||
| Kramat Djati | 16h 0m | 14:30 | Jakarta | Terminal Manggarai | 06:30 | Surabaya | Central Station | Economy | £12 |
A Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 22/06/2026 14:30:00 to Central Station, Surabaya (Indonesia) arriving at 23/06/2026 06:30:00. 50 Economy ticket for £12 per person are available. Travel duration is 16h 0m
|
||
| Pahala Kencana | 17h 55m | 12:25 | Jakarta | Terminal Manggarai | 06:20 | Surabaya | Central Station | Economy | £13 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 22/06/2026 12:25:00 to Central Station, Surabaya (Indonesia) arriving at 23/06/2026 06:20:00. 50 Economy ticket for £13 per person are available. Travel duration is 17h 55m
|
||
| 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 22/06/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 23/06/2026 05:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Medali Mas | 13h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 06:00 | Surabaya | Central Station | Business | £8 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 23/06/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 24/06/2026 06:00:00. 50 Business ticket for £8 per person are available. Travel duration is 13h 30m
|
||
| 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 23/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 23/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Pahala Kencana | 16h 0m | 13:35 | Jakarta | Terminal Manggarai | 05:35 | Surabaya | Central Station | Economy | £12 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 23/06/2026 13:35:00 to Central Station, Surabaya (Indonesia) arriving at 24/06/2026 05:35:00. 50 Economy ticket for £12 per person are available. Travel duration is 16h 0m
|
||
| Kramat Djati | 16h 0m | 14:30 | Jakarta | Terminal Manggarai | 06:30 | Surabaya | Central Station | Economy | £12 |
A Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 23/06/2026 14:30:00 to Central Station, Surabaya (Indonesia) arriving at 24/06/2026 06:30:00. 50 Economy ticket for £12 per person are available. Travel duration is 16h 0m
|
||
| Damri Express | 10h 0m | 08:00 | Jakarta | Terminal Pulo Gebang | 18:00 | Surabaya | Terminal Purabaya-Bungurasih | Business | £13 |
A Bus from Damri Express goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 23/06/2026 08:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 23/06/2026 18:00:00. 50 Business ticket for £13 per person are available. Travel duration is 10h 0m
|
| 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 24/06/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 24/06/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Kramat Djati | 18h 0m | 13:00 | Jakarta | Terminal Manggarai | 07:00 | Surabaya | Central Station | Economy | £12 |
A Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 24/06/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 25/06/2026 07:00:00. 50 Economy ticket for £12 per person are available. Travel duration is 18h 0m
|
||
| Pahala Kencana | 17h 55m | 12:25 | Jakarta | Terminal Manggarai | 06:20 | Surabaya | Central Station | Economy | £13 |
A Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 24/06/2026 12:25:00 to Central Station, Surabaya (Indonesia) arriving at 25/06/2026 06:20:00. 50 Economy ticket for £13 per person are available. Travel duration is 17h 55m
|
||
| 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 24/06/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 25/06/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 24/06/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 24/06/2026 22:45:00. 50 Economy ticket for £14 per person are available. Travel duration is 14h 15m
|
Best Price Offer: The price for the cheapest coach from Jakarta to Surabaya is £8 on 21/06/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, Medali Mas and Haryanto Bojonegoro that travel daily 86 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:00 |
| Latest Coach | 20:00 |
| Daily Bus Connections | 86 Ø |
| Distance | 662.2 km |
| Coach Companies | Harapan Jaya, Medali Mas, Haryanto Bojonegoro, Kramat Djati, Gunung Harta, Agra mas, Unicorn Indorent, Juragan 99, Pahala Kencana, MTrans and 6 more. |
What are the cheapest coach tickets from Jakarta to Surabaya?
Every day, 86 buses from 16 coach companies leave Jakarta for Surabaya. Check the table below to find the cheapest prices for coach tickets for this route, starting from 18/06/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.
Comfortable seating, food and drink service, accompanied generally by ticket flexibility.
