GoAsia
How to Get from Surabaya to Bali

How to Get from Surabaya to Bali

Last updated: October 17, 2026
Contents

Leaving the industrial heartbeat of East Java for the tropical allure of Bali is a classic Indonesian transition. While Surabaya serves as a bustling gateway of commerce and colonial history, Bali offers a complete shift in pace, moving from the shadow of Mount Bromo toward the surf breaks of Canggu and the cultural heart of Ubud. The journey involves crossing the Bali Strait, a narrow strip of water that separates these two distinct islands, and the choice you make depends entirely on whether you value time or the slow-motion adventure of the road.

Train, Bus, Flight and Ferry tickets

Booking and payment are handled by 12Go, not GoAsia. We may receive a commission when you book through our links.

Travelers often find themselves weighing the efficiency of a quick flight against the overnight camaraderie of a long-distance bus. Both options are well-established and cater to different budgets. You can easily compare these options and book your tickets on GoAsia.cc to ensure your seat is secured before you arrive at the terminal.

Surabaya to Bali by Flight

For most travelers, flying is the preferred method of reaching the Island of the Gods. It turns what could be a grueling day of travel into a short commute, whisking you from Juanda International Airport (SUB) to Ngurah Rai International Airport (DPS) in about an hour. AirAsia's route page lists direct flights with Super Air Jet, Lion Air, Citilink, TransNusa and Batik Air, with departures including 05:15, 07:55, 11:15, 12:20, 13:35 and 14:00.[1]

The Flight Experience

The cheapest fare listed starts at about IDR 615,000 (about $34) one way (October 2026).[1] Booking platforms list economy fares of about $40 to $90 and a flight time of 1 hour to 1 hour 5 minutes.[2] You will spend part of that time climbing or descending. Upon arrival in Denpasar, you are centrally located to reach Kuta, Seminyak, or Sanur, though Bali's traffic can make the last stretch slow.

Surabaya to Bali by Bus

If you have more time and are looking to keep your costs low, the bus is a fantastic alternative. Booking platforms list buses from Surabaya to Denpasar at about $10 to $25 and about 11 hours 30 minutes to 14 hours 5 minutes (October 2026).[2] This is not just a road trip; it is a logistical feat that includes a ferry crossing from Ketapang in Java to Gilimanuk in Bali. The long duration makes it a significant commitment, but it can save you the cost of a night's accommodation as the buses travel overnight.

A car ferry in the Bali Strait
A car ferry in the Bali StraitPhoto: CEphoto, Uwe Aranas / Wikimedia Commons, CC BY-SA 3.0

Bus Classes

Booking platforms list three classes on the Surabaya to Denpasar route:[2]

  • VIP Class: The most common option, with departures at 16:30, 17:45, 17:50 and 18:30.[2]
  • Executive Class: A departure at 19:00.[2]
  • Luxury Class: The top-tier option, with departures at 17:00 and 17:30.[2]

Ask the operator what your class includes, as seats, facilities and meals differ between buses. The journey starts in the late afternoon or early evening, and you drive through the eastern stretches of Java before reaching the ferry port, usually at night. The ferry crossing can add waiting time: in late September 2026, ASDP put 26 ships on the Ketapang to Gilimanuk crossing to clear a queue of about 17 km on the Ketapang side after about three days of congestion.[3] Allow extra time, especially around holidays.

Comparing Your Options

ModePrice (USD)DurationComfort
Flight$34 - $90[1][2]1h - 1h 5minHigh
Bus (VIP/Executive/Luxury)$10 - $25[2]11h 30min - 14h 5minMedium

Tips for Traveling from Surabaya to Bali

  • Book Ahead: While there are many flights, prices can spike during Indonesian public holidays or long weekends. Similarly, Luxury bus seats are limited and tend to sell out fast.
  • Check Your Terminal: Surabaya's Juanda Airport has more than one terminal. Check your booking confirmation to see which terminal your airline departs from, and allow extra time for traffic on the way to the airport.
  • Prepare for the Ferry: If taking the bus, keep a light jacket or sarong handy. The air conditioning on Indonesian buses is notoriously cold, and the sea breeze on the ferry can be chilly at night.
  • Time Zone Change: Bali (WITA) and Surabaya (WIB) are in different time zones, so check the local departure and arrival times on your ticket.
  • Arrival in Bali: Ask the bus company where it drops you in Bali. Bus terminals can be outside the main tourist areas, so it is often best to arrange a pickup or use a ride-sharing app.

Timetable

Flight East Java - Bali $ 40.10–89.86 1h – 1h 5m
  • →  Economy 06:20, 07:55, 09:20, 11:15, 12:20, 12:55, 14:00, 16:50, 19:50
Bus Surabaya - Denpasar $ 10.01–24.47 11h 30m – 14h 5m
  • →  VIP 16:30, 17:45, 17:50, 18:30
  • →  Executive 19:00
  • →  Luxury 17:00, 17:30

Frequently Asked Questions

How can I book tickets from Surabaya to Bali?

Use the booking tool on this page to compare the transport options currently available from Surabaya to Bali, including current prices and schedules.

What is the cheapest way to get from Surabaya to Bali?

The cheapest way to travel is usually the bus, at about $10 to $25 depending on the class (October 2026). Promotional flight fares can start at about $34, but they change by date.

What is the fastest way to get from Surabaya to Bali?

Flying is the fastest option by a wide margin. The flight itself takes about 1 hour, compared to at least 11.5 hours on a bus.

How long does it take to get from Surabaya to Bali?

A flight takes approximately 1 hour. If you choose to go by land and sea, the bus journey typically takes between 11 hours 30 minutes and 14 hours 5 minutes, depending on traffic and ferry wait times.

Is the ferry included in the bus ticket price?

Buses from Surabaya to Denpasar cross by ferry from Ketapang to Gilimanuk. Ask the bus company whether the ferry fare is already included in your ticket before you buy it.

Which airport should I use in Surabaya?

You will depart from Juanda International Airport (SUB), south of the city center. Allow plenty of time to reach the airport due to potential traffic.

Are there overnight travel options?

Yes, the listed bus departures are in the late afternoon or evening, arriving in Bali the following morning. This is a popular way for budget travelers to save on a night of accommodation.

Sources and background

Numbers in the text such as [1] refer to these sources.

  1. [1] AirAsia: Cheap flights from Surabaya to Bali. Retrieved October 15, 2026.
  2. [2] 12Go: 12Go timetable: Surabaya to Bali. Retrieved October 15, 2026.
  3. [3] ASDP Indonesia Ferry: ASDP Percepat Pemulihan Layanan Ketapang-Gilimanuk, Optimalkan 26 Kapal dan Pola Operasi. Retrieved October 15, 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.