How to travel from Semarang to Ubud, Indonesia

The distance between Semarang and Ubud is around 606km (376 miles) and the quickest way to get there is to fly which takes around 2h 15m.

6 routes found

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

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

🚀 Fastest
1
plane
+

Fly

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

  • Duration2h 15m
  • Flight time1h 35m
  • Typical cost
    IDR 2,890,745($195)
Operated by

Wings Air

+ 2 others
2
bus
+
bus
+

Bus

Take the bus to Jember and then to Sanur.

  • Duration15h 50m
  • Departsonce daily
  • Typical cost
    IDR 674,010($45)
Operated by

Multiple bus operators

1 similiar route

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

3
train
+
train
+
bus
+

Train and Bus

Take the train to Bangil and then to Jember then take the bus to Sanur.

  • Duration16h 40m
  • Departsonce daily
  • Typical cost
    IDR 644,050($43)
Operated by

Multiple operators

1 similiar route

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

4
car
+
ferry
+
car
+

Car and Ferry

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

  • Duration10h 10m
  • Departshourly
  • Typical cost
    IDR 1,258,150($84)
Operated by

Multiple operators

Frequently asked questionsabout travel between Semarang and Ubud

There are several options for getting from Semarang to Ubud by plane, train, ferry, taxi, bus and car. The cheapest option is to take the bus which costs around IDR 614,095 ($41) and will take around 21h 25m. If you need to get there more quickly, you can fly and arrive in approximately 2h 15m, though it is a bit more costly at approximately IDR 2,890,745 ($195).

The distance between Semarang and Ubud is around 606km (376 miles). In a direct line (as the crow flies), the distance is 559km (347 miles)

It takes around 2h 15m to get from Semarang and Ubud by plane.

The quickest way to get from Semarang to Ubud is to fly which takes around 2h 15m and will set you back approx IDR 2,890,745 ($195).

The cheapest way to travel between Semarang and Ubud is to take the bus which will typically cost around IDR 614,095 ($41) for a standard one-way ticket.

Train travel

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

Bus travel

Yes there is a bus that runs regularly from Semarang and Ubud. It typically takes around 15h 50m and departs once daily.

There are no direct bus services that runs from Semarang to Ubud. However, you can instead can take several connecting buses with changeovers in Jember, Jember, Sanur and Gallery Coffee. These services run once daily and will take a minimum of 15h 50m.

Damri, Bali Jaya Trans, Nusantara, Gunung Harta and Dunia mas run regular bus services between Semarang and Ubud. Buses run once daily and take around 15h 50m on average but will vary depending on you book with.

Flights and Airlines

Yes you can fly from Semarang and Ubud. 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 Ubud with no stop-overs required. Flights typically take around 1h 35m.

Wings Air, Batik Air and Lion Mentari Airlines fly between Semarang and Ubud. 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 Ubud typically takes around 1h 35m. Flights depart from Ahmad Yani (SRG) and and arrive into Ngurah Rai (DPS).

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

If you don't have a car, the easiest way to get from Semarang to Ubud is to fly which takes, on average, 2h 15m and will usually cost around IDR 2,890,745 ($195).

How do I get from Semarang to Ubud

Compare travel optionsbetween Semarang and Ubud

Transport options from Semarang to Ubud
Transport optionDurationCostFrequencyDistance
Fly
2h 15m
IDR 2,890,745($195)
on demand606km (376 miles)
Bus + 1 similar
15h 50m
IDR 674,010($45)
once daily797km (495 miles)
Bus via Surabaya Terminal Bungurasih21h 25m
IDR 614,095($41)
once daily766km (476 miles)
Train and Bus + 1 similar
16h 40m
IDR 644,050($43)
once daily757km (470 miles)
Train, Ferry and Taxi13h 40m
IDR 1,812,335($120)
once daily728km (452 miles)
Car and Ferry
10h 10m
IDR 1,258,150($84)
hourly750km (466 miles)

Top Carriersoperating between Semarang and Ubud

Bus companies

Airlines

Train operators

Ferry operators

Airports near Ubud

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

DPS
Ngurah Rai International Airport (DPS)
International Airport
Distance
29km (18 miles) from Ubud
BWX
Blimbingsari Airport (BWX)
Domestic Airport
Distance
104km (64 miles) from Ubud
LOP
Zainuddin Abdul Madjid International Airport (LOP)
International Airport
Distance
115km (71 miles) from Ubud