- Must visit
Museum MACAN
Leading art museum with Indonesian masterpieces, contemporary works and rotating exhibitions in a modern central Jakarta complex.
Cheapest price on 12 Oct
£15
Average ticket price on 12 Oct
£18
Fastest journey on 12 Oct
10 h 59 m
Average journey duration on 12 Oct
10 h 59 m
Buses on 12 Oct
79
Distance
662 km
The best way to find a cheap coach ticket from Surabaya to Jakarta is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Surabaya to Jakarta will cost around £18 if you buy it on the day, but you can find cheap coach tickets today for only £15.
On Mon 12 Oct, we found 79 buses from Surabaya to Jakarta, including 79 direct services.
These 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 .
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.
PAHALA KENCANA
KRAMAT DJATI
KRAMAT DJATI
HARAPAN JAYA
HARAPAN JAYA
HARAPAN JAYA
HARAPAN JAYA
HARAPAN JAYA
HARAPAN JAYA
HARAPAN JAYABuses from Surabaya to Jakarta run on average 68 times per day, taking around 12h 0m. Cheap bus tickets for this journey start at £11 if you book in advance.
There are 68 coaches per day. The earliest coach runs at 03:30, the last at 22:00. The fastest coach covers the 662 km distance in 10h 59m.
Distance 662 km |
Average bus duration 12h 0m |
Cheapest ticket price £11 |
Buses per day 68 |
Direct buses 68 |
Fastest bus 10h 59m |
First bus 3:30 |
Last bus 22:00 |
Cheapest Month Sept |
Cheapest Day Thu |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Sat |
Least Busy Day Mon |
Best time to book 1 day |
The table below shows live departures for Surabaya to Jakarta coaches for today, Sunday 11 October. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
HARAPAN JAYA | 16:45 Surabaya, Genteng | 13h00 | 5:45 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 16:45 Surabaya, Genteng | 13h00 | 5:45 Bus Terminal Tanjung Priok, Jakarta Utara | 0 changesdirect | |
HARAPAN JAYA | 17:15 Surabaya, Genteng | 13h00 | 6:15 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 17:15 Surabaya, Genteng | 13h00 | 6:15 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 17:15 Surabaya, Genteng | 13h00 | 6:15 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 17:30 Waru, Medaeng | 13h59 | 7:29 Bus Terminal Tanjung Priok, Jakarta Utara | 0 changesdirect | |
HARAPAN JAYA | 17:30 Waru, Medaeng | 11h30 | 5:00 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 17:30 Waru, Medaeng | 11h30 | 5:00 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 18:00 Waru, Medaeng | 11h30 | 5:30 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 18:00 Waru, Medaeng | 11h30 | 5:30 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 18:00 Waru, Medaeng | 11h30 | 5:30 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 20:30 Waru, Medaeng | 11h30 | 8:00 Jakarta, Grogol | 0 changesdirect | |
HARAPAN JAYA | 20:30 Waru, Medaeng | 11h30 | 8:00 Jakarta, Bus Terminal Kalideres | 0 changesdirect | |
HARAPAN JAYA | 20:30 Waru, Medaeng | 11h30 | 8:00 Jakarta, Ampera | 0 changesdirect | |
HARAPAN JAYA | 20:30 Waru, Medaeng | 11h30 | 8:00 Jakarta, Cengkareng | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Bus Terminal Kalideres | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Grogol | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Cengkareng | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Ampera | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 9:00 Waru, Medaeng | 11h30 | 20:30 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 9:10 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:09 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 9:10 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:09 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 9:10 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:09 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 9:15 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:14 Jakarta, Cengkareng | 0 changesdirect | |
HARAPAN JAYA | 9:15 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:14 Jakarta, Grogol | 0 changesdirect | |
HARAPAN JAYA | 9:15 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:14 Jakarta, Ampera | 0 changesdirect | |
HARAPAN JAYA | 9:15 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 20:14 Jakarta, Bus Terminal Kalideres | 0 changesdirect | |
HARAPAN JAYA | 10:00 Surabaya, Genteng | 13h00 | 23:00 Jakarta, Ampera | 0 changesdirect | |
HARAPAN JAYA | 10:00 Surabaya, Genteng | 13h00 | 23:00 Jakarta, Grogol | 0 changesdirect | |
HARAPAN JAYA | 10:00 Surabaya, Genteng | 13h00 | 23:00 Jakarta, Cengkareng | 0 changesdirect | |
HARAPAN JAYA | 10:00 Surabaya, Genteng | 13h00 | 23:00 Jakarta, Bus Terminal Kalideres | 0 changesdirect | |
HARAPAN JAYA | 11:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 22:44 Jakarta, Cengkareng | 0 changesdirect | |
HARAPAN JAYA | 11:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 22:44 Jakarta, Ampera | 0 changesdirect | |
HARAPAN JAYA | 11:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 22:44 Jakarta, Grogol | 0 changesdirect | |
HARAPAN JAYA | 11:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 22:44 Jakarta, Bus Terminal Kalideres | 0 changesdirect | |
HARAPAN JAYA | 12:00 Waru, Medaeng | 11h30 | 23:30 Jakarta, Grogol | 0 changesdirect | |
HARAPAN JAYA | 12:00 Waru, Medaeng | 11h30 | 23:30 Jakarta, Ampera | 0 changesdirect | |
HARAPAN JAYA | 12:00 Waru, Medaeng | 11h30 | 23:30 Jakarta, Cengkareng | 0 changesdirect | |
HARAPAN JAYA | 12:00 Waru, Medaeng | 11h30 | 23:30 Jakarta, Bus Terminal Kalideres | 0 changesdirect | |
HARAPAN JAYA | 13:00 Surabaya, Genteng | 13h00 | 2:00 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 13:00 Surabaya, Genteng | 13h00 | 2:00 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 13:00 Surabaya, Genteng | 13h00 | 2:00 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 14:00 Waru, Medaeng | 11h30 | 1:30 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 14:00 Surabaya, Genteng | 13h00 | 3:00 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 14:00 Waru, Medaeng | 11h30 | 1:30 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 14:00 Waru, Medaeng | 11h30 | 1:30 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 14:00 Surabaya, Genteng | 13h00 | 3:00 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 14:00 Surabaya, Genteng | 13h00 | 3:00 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 14:05 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 1:04 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 14:05 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 1:04 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 14:05 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 1:04 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
KRAMAT DJATI | 15:00 Surabaya, Arjuna | 20h15 | 11:15 Jakarta, Bus Terminal Kampung Rambutan | 0 changesdirect | |
HARAPAN JAYA | 15:00 Waru, Medaeng | 11h30 | 2:30 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 15:00 Waru, Medaeng | 11h30 | 2:30 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 15:00 Waru, Medaeng | 11h30 | 2:30 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
KRAMAT DJATI | 15:00 Surabaya, Arjuna | 19h34 | 10:34 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 15:05 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 2:04 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 15:05 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 2:04 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 15:05 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 2:04 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
PAHALA KENCANA | 15:30 Waru, Bus Terminal Purabaya/Bungurasih | 12h31 | 4:01 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 15:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 2:44 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 15:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 2:44 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 15:45 Waru, Bus Terminal Purabaya/Bungurasih | 10h59 | 2:44 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 16:00 Waru, Medaeng | 11h30 | 3:30 Jakarta, Pintu Bus Terminal Pulo Gebang | 0 changesdirect | |
HARAPAN JAYA | 16:00 Waru, Medaeng | 11h30 | 3:30 Jakarta, Lebak Bulus | 0 changesdirect | |
HARAPAN JAYA | 16:00 Waru, Medaeng | 11h30 | 3:30 Jakarta, Pasar Rebo | 0 changesdirect | |
HARAPAN JAYA | 16:01 Surabaya, Genteng | 13h00 | 5:01 Jakarta, Pasar Rebo | 0 changesdirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Discover the best of Jakarta — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Jakarta trip today.
Leading art museum with Indonesian masterpieces, contemporary works and rotating exhibitions in a modern central Jakarta complex.
Museum on Fatahillah Square covering Jakarta’s history from Sunda Kelapa to Batavia through maps, interiors and civic collections.
Art museum opposite the cathedral showing Indonesian painting, sculpture and ceramics in a calm heritage building.
Historic old town square lined with colonial buildings, museums and street activity; ideal for a walk through Batavia-era Jakarta.
Vast central park around Monas, popular for walks, city views and major monuments in the heart of the capital.
Leafy heritage neighbourhood with early twentieth-century planning, elegant houses and pleasant streets for a slower city walk.
Kerak telor is Betawi sticky rice omelette with egg, dried shrimp and spiced coconut, cooked over charcoal. It is a Jakarta street-food classic tied to local festivals.
Soto Betawi is Jakarta’s rich beef soup with coconut milk, often with offal. Its creamy broth and aromatic spices make it one of the city’s signature comfort dishes.
Nasi uduk is fragrant rice cooked with coconut milk and spices, commonly served with fried shallots and savoury side dishes. It is a much-loved Jakarta breakfast and supper staple.
Established restaurant serving diverse Indonesian regional dishes and drinks in an elegant setting suited to groups and visitors.
Traditional Indonesian dining in a refined colonial-style house, known for nasi goreng, satay and broad archipelago flavours.
Casual Jakarta institution best known for Soto Betawi and other Betawi staples in a simple, busy local setting.
Jakarta is budget-friendly for many travellers, with cheap local meals and transport, while hotels and upscale dining still cost less than in Singapore or Kuala Lumpur.
Tipping is not always expected. Restaurants may add service charge; otherwise round up or leave 5-10%. Round up taxi fares. Small tips are appreciated in cafés.
Official public transport app
Soekarno-Hatta Airport Railink Station -> BNI City Station, Jakarta
Find answers to the most common questions about traveling from Surabaya to Jakarta by coach. 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 coach, the cheapest option, or tips for making the most of your visit at Jakarta, this guide helps you travel smarter and with confidence.

Most Surabaya to Jakarta buses use the Waru, Terminal Purabaya/Bungurasih to Jakarta, Pintu Terminal Pulo Gebang station pair, with some services arriving at Jakarta, Pasar Rebo. Use this guide to compare Surabaya and Jakarta bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Waru, Terminal Purabaya/Bungurasih is 1 km from Surabaya city centre. Public transport options include:
Waru, Terminal Purabaya/Bungurasih has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food options include: Food court and various food stalls available
Free Wi-Fi available in terminal. ATMs are several ATMs from different banks.
Ticket office support is available at Waru, Terminal Purabaya/Bungurasih.
Available at Waru, Terminal Purabaya/Bungurasih: Parking, Taxis, WC.
Accessibility facilities are available at Waru, Terminal Purabaya/Bungurasih: Wheelchair ramps, assistance available.
Waru, Medaeng is 1 km from Surabaya city centre. Public transport options include:
Waru, Medaeng has practical services for this route, including Wifi, Parking, ATM, Taxis, Accessibility, WC, Shower and Ticket Office.
Wi-Fi is available at Waru, Medaeng. ATMs are available at Waru, Medaeng.
Ticket office support is available at Waru, Medaeng.
Available at Waru, Medaeng: Parking, Taxis, WC.
Accessibility facilities are available at Waru, Medaeng: Limited accessibility options.
Surabaya, Genteng is 1 km from Surabaya city centre. Public transport options include:
Surabaya, Genteng has practical services for this route, including Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food options include: Local food stalls and small restaurants nearby
ATMs are several ATMs near terminal.
Ticket office support is available at Surabaya, Genteng.
Available at Surabaya, Genteng: Parking, Taxis, WC.
Accessibility facilities are available at Surabaya, Genteng: Basic ramps available.
Jakarta, Pintu Terminal Pulo Gebang is 11 km from Jakarta city centre. Public transport options include:
Jakarta, Pintu Terminal Pulo Gebang has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food options include: Food court and various food stalls available
Free Wi-Fi in terminal building. ATMs are several ATMs from different banks.
Ticket office support is available at Jakarta, Pintu Terminal Pulo Gebang.
Available at Jakarta, Pintu Terminal Pulo Gebang: Parking, Taxis, WC.
Accessibility facilities are available at Jakarta, Pintu Terminal Pulo Gebang: Wheelchair ramps, dedicated assistance.
Jakarta, Pasar Rebo is 12 km from Jakarta city centre. Public transport options include:
Jakarta, Pasar Rebo has practical services for this route, including Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food options include: Local food stalls and small restaurants nearby
ATMs are several ATMs from major banks nearby.
Ticket office support is available at Jakarta, Pasar Rebo.
Available at Jakarta, Pasar Rebo: Parking, Taxis, WC.
Accessibility facilities are available at Jakarta, Pasar Rebo: Basic ramps available.
Jakarta, Lebak Bulus is 12 km from Jakarta city centre. Public transport options include:
Jakarta, Lebak Bulus has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC and Ticket Office.
Food options include: Food court and various street food vendors nearby
Free Wi-Fi available. ATMs are several ATMs from major banks.
Ticket office support is available at Jakarta, Lebak Bulus.
Available at Jakarta, Lebak Bulus: Parking, Taxis, WC.
Accessibility facilities are available at Jakarta, Lebak Bulus: Wheelchair ramps, elevators.
Here are some other resources that might have the information you need