How to travel from Surakarta to Ubud, Indonesia

The distance between Surakarta and Ubud is around 555km (345 miles) and the quickest way to get there is to fly which takes around 2hrs.

9 routes found

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

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

🚀 Fastest
1
plane
+

Fly

Fly from Solo (SOC) to Ngurah Rai (DPS).

  • Duration2hrs
  • Flight time1h 15m
  • Typical cost
    IDR 1,662,555($110)
Operated by

Lion Mentari Airlines

+ 2 others

3 similiar routes

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

2
bus
+
bus
+

Bus

Take the bus to Surabaya and then to Terminal Mengwi.

  • Duration19h 35m
  • Departsonce daily
  • Typical cost
    IDR 599,120($40)
Operated by

Multiple bus operators

💰 Cheapest
3
train
+
bus
+

Train and Bus

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

  • Duration15h 60m
  • Departsevery 20 mins
  • Typical cost
    IDR 494,275($33)
Operated by

Multiple operators

2 similiar routes

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.

  • Duration8h 60m
  • Departshourly
  • Typical cost
    IDR 1,108,370($74)
Operated by

Multiple operators

Frequently asked questionsabout travel between Surakarta and Ubud

There are several options for getting from Surakarta to Ubud by plane, train, bus, ferry, taxi and car. The cheapest option is to take the train and then take the bus which costs around IDR 494,275 ($33) and will take around 15h 60m. If you need to get there more quickly, you can fly and arrive in approximately 2hrs, though it is a bit more costly at approximately IDR 1,662,555 ($110).

The distance between Surakarta and Ubud is around 555km (345 miles). In a direct line (as the crow flies), the distance is 499km (310 miles)

It takes around 2hrs to get from Surakarta and Ubud by plane.

The quickest way to get from Surakarta to Ubud is to fly which takes around 2hrs and will set you back approx IDR 1,662,555 ($110).

The cheapest way to travel between Surakarta and Ubud is to take the train and then take the bus which will typically cost around IDR 494,275 ($33) for a standard one-way ticket.

Train travel

There is no train service that runs between Surakarta and Ubud. We recommend that you fly from Solo (SOC) to Ngurah Rai (DPS). instead which will take 2hrs.

Bus travel

Yes there is a bus that runs regularly from Surakarta and Ubud. It typically takes around 19h 35m and departs once daily.

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

Putra Agung and Gunung Harta run regular bus services between Surakarta and Ubud. Buses run once daily and take around 19h 35m on average but will vary depending on you book with.

Flights and Airlines

Yes you can fly from Surakarta and Ubud. Flights depart from Solo (SOC) and arrive at Ngurah Rai (DPS). The flight takes around 1h 15m.

Yes there is a direct flight between Surakarta and Ubud with no stop-overs required. Flights typically take around 1h 15m.

Lion Mentari Airlines, Indonesia AirAsia and Wings Air fly between Surakarta and Ubud. Flights depart from Solo (SOC) and and arrive into Ngurah Rai (DPS). These flights usually take around 1h 15m.

The flight from Surakarta to Ubud typically takes around 1h 15m. Flights depart from Solo (SOC) 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 Surakarta to Ubud. We recommend that you fly from Solo (SOC) to Ngurah Rai (DPS). instead which will take 2hrs.

If you don't have a car, the easiest way to get from Surakarta to Ubud is to fly which takes, on average, 2hrs and will usually cost around IDR 1,662,555 ($110).

How do I get from Surakarta to Ubud

Compare travel optionsbetween Surakarta and Ubud

Transport options from Surakarta to Ubud
Transport optionDurationCostFrequencyDistance
Fly + 3 similar
2hrs
IDR 1,662,555($110)
hourly555km (345 miles)
Train and Plane3h 20m
IDR 2,606,165($175)
every 3 hours619km (385 miles)
Train to Wates, Fly3h 40m
IDR 1,872,245($125)
every 20 mins709km (440 miles)
Bus and Plane4h 15m
IDR 2,875,765($190)
twice daily710km (441 miles)
Bus
19h 35m
IDR 599,120($40)
once daily691km (429 miles)
Train and Bus + 2 similar
15h 60m
IDR 494,275($33)
every 20 mins722km (449 miles)
Train, Ferry and Taxi13h 10m
IDR 1,662,555($110)
twice daily693km (431 miles)
Train, Ferry and Bus14h 20m
IDR 539,205($36)
twice daily707km (439 miles)
Car and Ferry
8h 60m
IDR 1,108,370($74)
hourly657km (408 miles)

Top Carriersoperating between Surakarta and Ubud

Airlines

Train operators

Bus companies

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