How to travel from Surabaya to Legian, Indonesia

The distance between Surabaya and Legian is around 329km (204 miles) and the quickest way to get there is to fly which takes around 1h 20m.

5 routes found

We've found 5 different ways to get from Surabaya to Legian by plane, train, ferry, bus and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.

👋 Also check out LegianSurabaya if you're planning a return trip.

🚀 Fastest
1
plane
+

Fly

Fly from Juanda International (SUB) to Ngurah Rai (DPS).

  • Duration1h 20m
  • Flight time55min
  • Typical cost
    IDR 703,965($47)
Operated by

Lion Mentari Airlines

+ 3 others
2
bus
+

Bus

Take the bus to Terminal Mengwi.

  • Duration12h 20m
  • Departsonce daily
  • Typical cost
    IDR 509,250($34)
Operated by

Gunung Harta

3
train
+
bus
+

Train and Bus

Take the train to Ketapang then take the bus to Denpasar.

  • Duration11h 25m
  • Departsonce daily
  • Typical cost
    IDR 494,275($33)
Operated by

Multiple operators

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

💰 Cheapest
4
car
+
ferry
+
car
+

Car and Ferry

Drive to Ketapang then take a ferry to Gilimanuk then drive to Legian.

  • Duration6h 20m
  • Departshourly
  • Typical cost
    IDR 389,425($26)
Operated by

Multiple operators

Frequently asked questionsabout travel between Surabaya and Legian

There are several options for getting from Surabaya to Legian by plane, train, ferry, bus and car. The cheapest option is to drive and then take a ferry which costs around IDR 389,425 ($26) and will take around 6h 20m. If you need to get there more quickly, you can fly and arrive in approximately 1h 20m, though it is a bit more costly at approximately IDR 703,965 ($47).

The distance between Surabaya and Legian is around 329km (204 miles). In a direct line (as the crow flies), the distance is 313km (194 miles)

It takes around 1h 20m to get from Surabaya and Legian by plane.

The quickest way to get from Surabaya to Legian is to fly which takes around 1h 20m and will set you back approx IDR 703,965 ($47).

The cheapest way to travel between Surabaya and Legian is to drive and then take a ferry which will typically cost around IDR 389,425 ($26) for a standard one-way ticket.

Train travel

There is no train service that runs between Surabaya and Legian. We recommend that you fly from Juanda International (SUB) to Ngurah Rai (DPS). instead which will take 1h 20m.

Bus travel

Yes there is a bus that runs regularly from Surabaya and Legian. It typically takes around 12h 20m and departs once daily.

There are no direct bus services that runs from Surabaya to Legian. However, you can instead can take several connecting buses with changeovers in Terminal Mengwi. These services run once daily and will take a minimum of 12h 20m.

Gunung Harta run regular bus services between Surabaya and Legian. Buses run once daily and take around 12h 20m on average but will vary depending on you book with.

Flights and Airlines

Yes you can fly from Surabaya and Legian. Flights depart from Juanda International (SUB) and arrive at Ngurah Rai (DPS). The flight takes around 55min.

Yes there is a direct flight between Surabaya and Legian with no stop-overs required. Flights typically take around 55min.

Lion Mentari Airlines, Citilink Indonesia, Garuda Indonesia and Indonesia AirAsia fly between Surabaya and Legian. Flights depart from Juanda International (SUB) and and arrive into Ngurah Rai (DPS). These flights usually take around 55min.

The flight from Surabaya to Legian typically takes around 55min. Flights depart from Juanda International (SUB) and and arrive into Ngurah Rai (DPS).

The closest major airport to Legian is Ngurah Rai International Airport (DPS) (DPS) which is approximately 5km (3 miles) from Legian. Blimbingsari Airport (BWX) (BWX) and Zainuddin Abdul Madjid International Airport (LOP) (LOP) are also nearby and might be a better alternative airport depending on where you are flying from.

Drive yourself

No, its not really possible or feasible to drive from Surabaya to Legian. We recommend that you fly from Juanda International (SUB) to Ngurah Rai (DPS). instead which will take 1h 20m.

If you don't have a car, the easiest way to get from Surabaya to Legian is to fly which takes, on average, 1h 20m and will usually cost around IDR 703,965 ($47).

How do I get from Surabaya to Legian

Compare travel optionsbetween Surabaya and Legian

Transport options from Surabaya to Legian
Transport optionDurationCostFrequencyDistance
Fly
1h 20m
IDR 703,965($47)
on demand329km (204 miles)
Bus
12h 20m
IDR 509,250($34)
once daily431km (268 miles)
Train and Bus + 1 similar
11h 25m
IDR 494,275($33)
once daily450km (279 miles)
Train, Ferry and Bus9h 50m
IDR 509,250($34)
twice daily443km (275 miles)
Car and Ferry
6h 20m
IDR 389,425($26)
hourly428km (266 miles)

Top Carriersoperating between Surabaya and Legian

Airlines

Bus companies

Train operators

Ferry operators

Airports near Legian

The following major airports near Legian offer regular flights to various popular destinations within Indonesia and internationally.

DPS
Ngurah Rai International Airport (DPS)
International Airport
Distance
5km (3 miles) from Legian
BWX
Blimbingsari Airport (BWX)
Domestic Airport
Distance
101km (63 miles) from Legian
LOP
Zainuddin Abdul Madjid International Airport (LOP)
International Airport
Distance
122km (76 miles) from Legian