Contents
Leaving behind the emerald rice terraces and salty surf of Bali for the industrious energy of Surabaya marks a transition from Indonesia's spiritual heart to its commercial engine. While Bali is defined by its slow pace and coastal charm, Surabaya offers a gritty, authentic look at Javanese urban life, serving as the primary gateway for those looking to conquer the volcanic peaks of Mount Bromo or Ijen. The journey between these two islands involves crossing the narrow Bali Strait, a transition that can be done in the blink of an eye from the air or as a slow, rhythmic crawl across land and sea.
Whether you are heading to Surabaya for business or using it as a base for East Javanese adventures, the route is well-traveled and offers options for every budget. You can easily book your preferred tickets on GoAsia.cc to ensure your transition from the Island of the Gods to the City of Heroes is as smooth as possible. The choice generally comes down to a trade-off between the speed of a short hop flight and the rugged, overnight experience of a long-distance bus.
Bali to Surabaya by Flight
Flying is the most efficient way to bridge the gap between Denpasar and Surabaya. For travelers who value their time, a non-stop flight takes about 1 hour 5 minutes, effectively turning a full day of travel into a quick morning or afternoon hop.[1] Flights depart from Ngurah Rai International Airport (DPS) and arrive at Juanda International Airport (SUB) in Surabaya. Super Air Jet, Lion Air, TransNusa, Batik Air, Wings Air, Citilink and Indonesia AirAsia all fly the route directly, with departures spread from early morning until late evening.[1]
AirAsia lists the cheapest one-way fares from about IDR 630,000.[1] Given the short distance, the experience is straightforward with minimal inflight service, but the views upon takeoff and landing can be spectacular. Juanda International Airport lies south of the city center, outside Surabaya itself, and is connected by taxis and ride-hailing services.
Bali to Surabaya by Bus
For the budget-conscious or those who enjoy the slow rhythm of the road, the bus is a classic Indonesian experience. The journey from Denpasar to Surabaya is an exercise in patience and endurance, taking from about 10 hours 30 minutes and up to 14 hours depending on traffic and the ferry crossing between Gilimanuk (Bali) and Ketapang (Java).[2] Check with your bus operator whether the ferry fare is included in the ticket price.
On booking platforms, Executive, VIP and Luxury class bus tickets from Denpasar to Surabaya cost from about $14 to $24 (October 2026).[2] Most departures leave in the morning or from the afternoon to the evening, so traveling overnight is a popular choice as it saves on a night's accommodation and allows you to wake up in Surabaya ready to start your day.[2] Executive coaches typically have reclining seats and air conditioning, while the VIP and Luxury classes offer more legroom or a more spacious seating layout; the exact specification depends on the operator.
The Gilimanuk-Ketapang Ferry
The Bali Strait is crossed by the ASDP ferry between Gilimanuk and Ketapang.[3] Since May 2025, ASDP sells tickets for busy crossings such as Ketapang-Gilimanuk only digitally, through the Ferizy website or app.[4] Delays can build up: in late September 2026, ASDP reported a vehicle queue of about 17 km on the Ketapang side after roughly 3 days of congestion, which it cleared by running 26 to 27 ships.[3] Allow extra time, especially around holidays.
Comparing Your Options
| Mode | Price | Duration | Comfort |
|---|---|---|---|
| Flight | From about IDR 630,000[1] | About 1h 5min[1] | High |
| Bus (Executive, VIP, Luxury) | About $14 - $24 (booking platforms, Oct 2026)[2] | From 10h 30min[2] | Moderate to high |
Tips for Traveling from Bali to Surabaya
- Book Flights Early: While there are many daily flights, prices tend to rise as the departure date approaches, especially during Indonesian public holidays or long weekends.
- Prepare for the Ferry: If taking the bus, you will usually have to leave the bus at the Gilimanuk ferry terminal and walk onto the boat, depending on the operator. Keep your valuables with you in a small daypack; your heavy luggage will stay in the bus hold.
- Bring Warm Layers: Indonesian buses are notorious for their powerful air conditioning. Even if it is hot outside, the interior of a VIP or Luxury bus can feel like a refrigerator. A light jacket or a sarong is essential for a comfortable night.
- Check Arrival Points: Buses from Bali usually arrive at a terminal south of the city, and Purabaya (Bungurasih) is the best known. Ensure you know where your bus drops off so you can arrange onward transport to your hotel.
- Snacks and Water: Some operators include a meal stop, but it is always wise to carry your own snacks and plenty of water for the long journey.
Timetable
| Flight Bali - East Java $ 38.89–54.35 1h – 1h 15m | |
|
| Bus Denpasar - Surabaya $ 13.75–23.55 10h 30m – 14h | |
|
| Bus Denpasar - Bangkalan $ 22.36 15h 45m | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Bali to Surabaya, including current prices and schedules.
The cheapest way to travel is usually by bus. On booking platforms, bus tickets from Denpasar to Surabaya cost from about $14 to $24 (October 2026). Check whether the ferry crossing from Bali to East Java is included.
The fastest way is to fly from Ngurah Rai International Airport to Juanda International Airport, a non-stop flight of about 1 hour 5 minutes.
A non-stop flight takes about 1 hour 5 minutes, while a bus journey takes from about 10 hours 30 minutes and up to 14 hours depending on traffic and the ferry crossing.
Some operators include a meal stop at a rest area, but this differs by operator and class. Verify it with the operator when you book, and carry your own snacks and water.
Buses between Bali and Java cross on the Gilimanuk-Ketapang ferry. Whether the ferry fare is part of your bus ticket depends on the operator, so check when you book. If you travel by other means, ASDP sells ferry tickets only digitally through Ferizy.
Overnight buses are widely used by locals and travelers between Bali and Java. Keep your passport, money and electronics in a bag on your person at all times.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] AirAsia: Cheap Flights from Bali to Surabaya. Retrieved October 20, 2026.
- [2] 12Go: Bali - Surabaya timetable. Retrieved October 20, 2026.
- [3] ASDP Indonesia Ferry: ASDP Perkuat Operasional Ketapang-Gilimanuk, Antrean Kendaraan Terus Berkurang. Retrieved October 15, 2026.
- [4] ASDP Indonesia Ferry: Libur Panjang Mei-Juni, ASDP Wajibkan Pengguna Jasa Beli Tiket Ferry Secara Online via Ferizy. Retrieved October 19, 2026.
Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.