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, Damri Express or Medali Mas. 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 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sarwonadhi Trans | 13h 45m | 16:00 | Jakarta | Teuku Umar 8 Coach Station | 04:45 | Surabaya | Central Station | Economy | £13 |
A Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 20/03/2026 16:00:00 to Central Station, Surabaya (Indonesia) arriving at 21/03/2026 04:45:00. 50 Economy ticket for £13 per person are available. Travel duration is 13h 45m
|
||
| Angkasa Trans Jaya | 11h 0m | 13:00 | Jakarta | Teuku Umar 8 Coach Station | 23:00 | Surabaya | Central Station | Economy | £15 |
A Bus from Angkasa Trans Jaya goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 20/03/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 20/03/2026 23:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 11h 0m
|
||
| Harapan Jaya | 14h 30m | 12:30 | Jakarta | Jalan Ciputat Bus Stop | 03:00 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £25 |
A Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 20/03/2026 12:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 21/03/2026 03:00:00. 50 Economy ticket for £25 per person are available. Travel duration is 14h 30m
|
||
| Kramat Djati | 13h 30m | 16:00 | Jakarta | Terminal Kampung Rambutan | 05:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £25 |
A Bus from Kramat Djati goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 20/03/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 21/03/2026 05:30:00. 50 Economy ticket for £25 per person are available. Travel duration is 13h 30m
|
||
| Safari Dharma Raya | 9h 55m | 18:05 | Jakarta | Teuku Umar 8 Coach Station | 03:00 | Surabaya | Central Station | Economy | £27 |
A Bus from Safari Dharma Raya goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 20/03/2026 18:05:00 to Central Station, Surabaya (Indonesia) arriving at 21/03/2026 03:00:00. 50 Economy ticket for £27 per person are available. Travel duration is 9h 55m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Damri Express | 11h 40m | 08:30 | Jakarta | Teuku Umar 8 Coach Station | 19:10 | Surabaya | Central Station | Economy | £11 |
A Bus from Damri Express goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 21/03/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 21/03/2026 19:10:00. 50 Economy ticket for £11 per person are available. Travel duration is 11h 40m
|
||
| Sarwonadhi Trans | 10h 30m | 09:00 | Jakarta | Teuku Umar 8 Coach Station | 18:30 | Surabaya | Central Station | Economy | £13 |
A Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 21/03/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 21/03/2026 18:30:00. 50 Economy ticket for £13 per person are available. Travel duration is 10h 30m
|
||
| Angkasa Trans Jaya | 11h 0m | 13:00 | Jakarta | Teuku Umar 8 Coach Station | 23:00 | Surabaya | Central Station | Economy | £15 |
A Bus from Angkasa Trans Jaya goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 21/03/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 21/03/2026 23:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 11h 0m
|
||
| Harapan Jaya | 14h 30m | 06:00 | Jakarta | Jalan Ciputat Bus Stop | 20:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £20 |
A Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 21/03/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 21/03/2026 20:30:00. 50 Economy ticket for £20 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 | £23 |
A Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 21/03/2026 15:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 22/03/2026 07:52:00. 50 Economy ticket for £23 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 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Harapan Jaya | 10h 0m | 13:15 | Jakarta | Cililitan Besar Bus Stop | 23:15 | Surabaya | Sidotopo Bus Station | Economy | £15 |
A Bus from Harapan Jaya goes from Cililitan Besar Bus Stop, Jakarta (Indonesia) at 22/03/2026 13:15:00 to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 22/03/2026 23:15:00. 50 Economy ticket for £15 per person are available. Travel duration is 10h 0m
|
||
| Harapan Jaya | 10h 0m | 14:30 | Jakarta | Cililitan Besar Bus Stop | 00:30 | Surabaya | Sidotopo Bus Station | Economy | £15 |
A Bus from Harapan Jaya goes from Cililitan Besar Bus Stop, Jakarta (Indonesia) at 22/03/2026 14:30:00 to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 23/03/2026 00:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 10h 0m
|
||
| Tiara Mas | 12h 28m | 17:00 | Jakarta | Terminal Kampung Rambutan | 05:28 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £22 |
A Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 22/03/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 23/03/2026 05:28:00. 50 Economy ticket for £22 per person are available. Travel duration is 12h 28m
|
||
| Kramat Djati | 19h 34m | 16:00 | Jakarta | Terminal Pulo Gebang | 11:34 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £26 |
A Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 22/03/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 23/03/2026 11:34:00. 50 Economy ticket for £26 per person are available. Travel duration is 19h 34m
|
||
| Kramat Djati | 14h 51m | 17:00 | Jakarta | Terminal Pulo Gebang | 07:51 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £27 |
A Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 22/03/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 23/03/2026 07:51:00. 50 Economy ticket for £27 per person are available. Travel duration is 14h 51m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Damri Express | 10h 40m | 08:30 | Jakarta | Teuku Umar 8 Coach Station | 19:10 | Surabaya | Central Station | Economy | £11 |
A Bus from Damri Express goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 23/03/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 23/03/2026 19:10:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
|
||
| Sarwonadhi Trans | 9h 30m | 09:00 | Jakarta | Teuku Umar 8 Coach Station | 18:30 | Surabaya | Central Station | Economy | £13 |
A Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 23/03/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 23/03/2026 18:30:00. 50 Economy ticket for £13 per person are available. Travel duration is 9h 30m
|
||
| Medali Mas | 13h 30m | 17:30 | Jakarta | Teuku Umar 8 Coach Station | 07:00 | Surabaya | Central Station | Business | £15 |
A Bus from Medali Mas goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 23/03/2026 17:30:00 to Central Station, Surabaya (Indonesia) arriving at 24/03/2026 07:00:00. 50 Business ticket for £15 per person are available. Travel duration is 13h 30m
|
||
| Harapan Jaya | 13h 0m | 06:15 | Jakarta | Kalideres Central Bus Station | 19:15 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £16 |
A Bus from Harapan Jaya goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 23/03/2026 06:15:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 23/03/2026 19:15:00. 50 Economy ticket for £16 per person are available. Travel duration is 13h 0m
|
||
| Gunung Harta | 11h 30m | 07:00 | Jakarta | Terminal Manggarai | 18:30 | Surabaya | Central Station | Economy | £19 |
A Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 23/03/2026 07:00:00 to Central Station, Surabaya (Indonesia) arriving at 23/03/2026 18:30:00. 50 Economy ticket for £19 per person are available. Travel duration is 11h 30m
|
| Mode of Transport | BertCompanyCountOneCompanyName | Duration | Departure time | From | Departure | Arrival time | To | Destination | Logo | Seat classes | Price | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 25/03/2026 13:15:00 to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 25/03/2026 23:15:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 0m
|
||
| Harapan Jaya | 10h 0m | 14:30 | Jakarta | Cililitan Besar Bus Stop | 00:30 | Surabaya | Sidotopo Bus Station | Economy | £11 |
A Bus from Harapan Jaya goes from Cililitan Besar Bus Stop, Jakarta (Indonesia) at 25/03/2026 14:30:00 to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 26/03/2026 00:30:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 0m
|
||
| Harapan Jaya | 9h 29m | 14:00 | Jakarta | Terminal Tanjung Priok Bus Stop | 23:29 | Surabaya | Sidotopo Bus Station | Economy | £11 |
A Bus from Harapan Jaya goes from Terminal Tanjung Priok Bus Stop, Jakarta (Indonesia) at 25/03/2026 14:00:00 to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 25/03/2026 23:29:00. 50 Economy ticket for £11 per person are available. Travel duration is 9h 29m
|
||
| Kramat Djati | 13h 30m | 16:00 | Jakarta | Terminal Kampung Rambutan | 05:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £23 |
A Bus from Kramat Djati goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 25/03/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 26/03/2026 05:30:00. 50 Economy ticket for £23 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 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Damri Express | 10h 0m | 08:00 | Jakarta | Terminal Manggarai | 18:00 | Surabaya | Central Station | Economy | £13 |
A Bus from Damri Express goes from Terminal Manggarai, Jakarta (Indonesia) at 26/03/2026 08:00:00 to Central Station, Surabaya (Indonesia) arriving at 26/03/2026 18:00:00. 50 Economy ticket for £13 per person are available. Travel duration is 10h 0m
|
||
| Gunung Harta | 16h 30m | 13:00 | Jakarta | Terminal Manggarai | 05:30 | Surabaya | Central Station | Economy | £15 |
A Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 26/03/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 27/03/2026 05:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 16h 30m
|
||
| Harapan Jaya | 13h 0m | 06:30 | Jakarta | Terminal Bus Kota Blok M | 19:30 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £16 |
A Bus from Harapan Jaya goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 26/03/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 26/03/2026 19:30:00. 50 Economy ticket for £16 per person are available. Travel duration is 13h 0m
|
||
| Medali Mas | 13h 0m | 12:00 | Jakarta | Terminal Manggarai | 01:00 | Surabaya | Central Station | Business | £18 |
A Bus from Medali Mas goes from Terminal Manggarai, Jakarta (Indonesia) at 26/03/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 27/03/2026 01:00:00. 50 Business ticket for £18 per person are available. Travel duration is 13h 0m
|
||
| Tiara Mas | 12h 37m | 16:40 | Jakarta | Terminal Pondok Pinang | 05:17 | Surabaya | Terminal Purabaya-Bungurasih | Economy | £19 |
A Bus from Tiara Mas goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 26/03/2026 16:40:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 27/03/2026 05:17:00. 50 Economy ticket for £19 per person are available. Travel duration is 12h 37m
|
Best Price Offer: The price for the cheapest coach from Jakarta to Surabaya is £10 on 04/04/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, Damri Express and Medali Mas that travel daily 47 times by bus from Jakarta to Surabaya in one click. Book your Jakarta to Surabaya bus ticket starting from £10!
| Cheapest Bus | £10 |
| Fastest Bus | 8h 55m |
| Earliest Coach | 12:30 |
| Latest Coach | 20:00 |
| Daily Bus Connections | 47 Ø |
| Distance | 662.2 km |
| Coach Companies | Harapan Jaya, Damri Express, Medali Mas, Kramat Djati, Gunung Harta, Agra mas, Unicorn Indorent, Sarwonadhi Trans, Tiara Mas, Juragan 99 and 2 more. |
What are the cheapest coach tickets from Jakarta to Surabaya?
Every day, 47 buses from 12 coach companies leave Jakarta for Surabaya. Check the table below to find the cheapest prices for coach tickets for this route, starting from 20/03/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.
Compare the bus with other modes of transport
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.
