How to travel from Semarang to Bali, Indonesia

The distance between Semarang and Bali is around 572km (355 miles) and the quickest way to get there is to fly which takes around 1h 45m.

5 routes found

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

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

🚀 Fastest
1
plane
+

Fly

Fly from Ahmad Yani (SRG) to Ngurah Rai (DPS).

  • Duration1h 45m
  • Flight time1h 35m
  • Typical cost
    IDR 2,516,295($170)
Operated by

Wings Air

+ 2 others
2
bus
+
ferry
+
bus
+

Bus and Ferry

Take the bus to Banyuwangi then take a ferry to Gilimanuk then take the bus to Terminal Ubung.

  • Duration13h 45m
  • Departsonce daily
  • Typical cost
    IDR 629,075($42)
Operated by

Multiple operators

💰 Cheapest
3
bus
+
bus
+

Bus

Take the bus to Malang Arjosari Bus Station and then to Denpasar.

  • Duration24h 20m
  • Departsonce daily
  • Typical cost
    IDR 479,295($32)
Operated by

Multiple bus operators

4
train
+
train
+
ferry
+
bus
+

Train, Ferry and Bus

Take the train to Gubeng and then to Ketapang then take a ferry to Gilimanuk then take the bus to Terminal Ubung.

  • Duration14h 35m
  • Departsonce daily
  • Typical cost
    IDR 524,230($35)
Operated by

Multiple operators

5
car
+
ferry
+
car
+

Car and Ferry

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

  • Duration10hrs
  • Departshourly
  • Typical cost
    IDR 1,258,150($84)
Operated by

Multiple operators

Frequently asked questionsabout travel between Semarang and Bali

There are several options for getting from Semarang to Bali by plane, bus, ferry, train and car. The cheapest option is to take the bus which costs around IDR 479,295 ($32) and will take around 24h 20m. If you need to get there more quickly, you can fly and arrive in approximately 1h 45m, though it is a bit more costly at approximately IDR 2,516,295 ($170).

The distance between Semarang and Bali is around 572km (355 miles). In a direct line (as the crow flies), the distance is 536km (333 miles)

It takes around 1h 45m to get from Semarang and Bali by plane.

The quickest way to get from Semarang to Bali is to fly which takes around 1h 45m and will set you back approx IDR 2,516,295 ($170).

The cheapest way to travel between Semarang and Bali is to take the bus which will typically cost around IDR 479,295 ($32) for a standard one-way ticket.

Train travel

There is no train service that runs between Semarang and Bali. We recommend that you fly from Ahmad Yani (SRG) to Ngurah Rai (DPS). instead which will take 1h 45m.

Bus travel

Yes there is a bus that runs regularly from Semarang and Bali. It typically takes around 24h 20m and departs once daily.

There are no direct bus services that runs from Semarang to Bali. However, you can instead can take several connecting buses with changeovers in Malang Arjosari Bus Station, Malang Terminal Arjosari and Denpasar. These services run once daily and will take a minimum of 24h 20m.

Nusantara and Mtrans run regular bus services between Semarang and Bali. Buses run once daily and take around 24h 20m on average but will vary depending on you book with.

Flights and Airlines

Yes you can fly from Semarang and Bali. Flights depart from Ahmad Yani (SRG) and arrive at Ngurah Rai (DPS). The flight takes around 1h 35m.

Yes there is a direct flight between Semarang and Bali with no stop-overs required. Flights typically take around 1h 35m.

Wings Air, Batik Air and Lion Mentari Airlines fly between Semarang and Bali. Flights depart from Ahmad Yani (SRG) and and arrive into Ngurah Rai (DPS). These flights usually take around 1h 35m.

The flight from Semarang to Bali typically takes around 1h 35m. Flights depart from Ahmad Yani (SRG) and and arrive into Ngurah Rai (DPS).

The closest major airport to Bali is Ngurah Rai International Airport (DPS) (DPS) which is approximately 47km (29 miles) from Bali. 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 Semarang to Bali. We recommend that you fly from Ahmad Yani (SRG) to Ngurah Rai (DPS). instead which will take 1h 45m.

If you don't have a car, the easiest way to get from Semarang to Bali is to fly which takes, on average, 1h 45m and will usually cost around IDR 2,516,295 ($170).

How do I get from Semarang to Bali

Compare travel optionsbetween Semarang and Bali

Transport options from Semarang to Bali
Transport optionDurationCostFrequencyDistance
Fly
1h 45m
IDR 2,516,295($170)
on demand572km (355 miles)
Bus and Ferry
13h 45m
IDR 629,075($42)
once daily767km (476 miles)
Bus
24h 20m
IDR 479,295($32)
once daily808km (502 miles)
Train, Ferry and Bus
14h 35m
IDR 524,230($35)
once daily725km (451 miles)
Car and Ferry
10hrs
IDR 1,258,150($84)
hourly747km (464 miles)

Top Carriersoperating between Semarang and Bali

Bus companies

Train operators

Airlines

Ferry operators

Airports near Bali

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

DPS
Ngurah Rai International Airport (DPS)
International Airport
Distance
47km (29 miles) from Bali
BWX
Blimbingsari Airport (BWX)
Domestic Airport
Distance
83km (51 miles) from Bali
LOP
Zainuddin Abdul Madjid International Airport (LOP)
International Airport
Distance
139km (86 miles) from Bali