GoAsia
Indonesia

How to Get from Surakarta to Bali

Compare flights and buses from Surakarta to Bali. Find the best way from Java to the Island of the Gods, with flights from about $62 and buses from about $18.

Last updated: November 5, 2026

How to Get from Surakarta to Bali
Contents

Leaving behind the royal heritage and quiet elegance of Surakarta, often called Solo, for the tropical allure of Bali involves crossing the heart of East Java and the Bali Strait. While Solo represents the deep-rooted Javanese traditions of batik and ancient palaces, Bali offers a vibrant shift toward volcanic landscapes and world-famous beaches. This journey is a transition from the cultural soul of Indonesia to its most famous island destination.

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 on this route face a classic choice: a quick hop over the clouds or a long overland adventure that includes a ferry crossing. You can compare options and book your tickets for this journey on GoAsia.cc.

Surakarta to Bali by Flight

Flights depart from Adi Soemarmo International Airport (SOC) and land at Ngurah Rai International Airport (DPS) in Denpasar. The flight takes about 1 hour 20 minutes, and on booking platforms economy seats cost about $62 to $82 (November 2026).[1] From Denpasar, popular spots like Kuta, Seminyak and Uluwatu are a short taxi ride away.

Surakarta to Bali by Bus

The overland journey by bus is an epic trek that appeals to budget-conscious travelers and those who enjoy watching the Javanese landscape change. The route runs through East Java to the Ketapang ferry terminal, where the bus crosses to Gilimanuk in Bali on the ferry run by ASDP.[2]

Executive Class Buses

Executive buses have air-conditioning and reclining seats. Prices and journey times depend on your drop-off point in Bali. On booking platforms, tickets to Denpasar cost about $18 to $39 (November 2026), and the journey takes from about 12 hours, longer with traffic and ferry queues. Tabanan costs about $23 to $26 and takes from about 11 hours. Mengwi costs about $21 and takes about 14 hours to 14 hours 30 minutes, and buses to Bali and Badung drop-off points cost about $21 and take about 16 to 18 hours.[1]

Comparing Your Options

ModePrice (USD)DurationComfort
FlightAbout $62 - $82[1]About 1h 20mHigh
Bus to DenpasarAbout $18 - $39[1]From about 12hModerate
Bus to TabananAbout $23 - $26[1]From about 11hModerate
Bus to MengwiAbout $21[1]About 14h - 14h 30mModerate

Tips for Traveling from Surakarta to Bali

  • Book Flights Early: Flights can fill up quickly during Indonesian public holidays or long weekends. Booking a few weeks in advance usually gets you a lower fare.
  • Prepare for the Ferry: If you take the bus, you usually step off the vehicle during the ferry crossing from Ketapang to Gilimanuk. Keep your valuables in a small daypack that stays with you at all times.
  • Pack Snacks and Water: Many Executive buses provide a meal or a snack box, but the journey is long. Bring your own supplies for the stretches in the middle of the night.
  • Arrival Times: Bali traffic can be unpredictable, particularly around Denpasar and Mengwi. If you have a connecting flight or a check-in time at a villa, allow a few hours of buffer when arriving by bus.
  • Dress in Layers: Indonesian buses are famous for their powerful air conditioning. Bring a jacket or a small blanket.

Timetable

Flight Central Java - Bali $ 61.82–81.90 1h 20m
  • →  Economy 07:00, 11:00
Bus Surakarta - Mengwi $ 21.25 14h – 14h 30m
  • →  Executive 13:00, 13:30
Bus Surakarta - Denpasar $ 18.22–38.64 12h – 1days 11h 25m
  • →  Executive 02:30, 12:35, 13:00, 13:25, 13:30, 14:00, 15:30, 16:00, 16:05, 16:30, 23:56
  • →  Double Decker 14:00
  • →  Sleeper 15:35
Bus Surakarta - Tabanan $ 22.63–26.18 11h 19m – 1days 10h 55m
  • →  Executive 02:30, 13:35, 14:55, 23:56
Bus Solo - Bali $ 20.42 15h 50m
  • →  Executive 13:30
Bus Solo - Badung $ 20.42 18h
  • →  Executive 13:30
Bus Surakarta - Bali $ 20.42 15h 50m
  • →  Executive 13:30

Frequently Asked Questions

How can I book tickets from Surakarta to Bali?

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

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

The bus, with tickets from about $18 on booking platforms (November 2026). It is cheaper than flying but takes much longer.

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

A flight from Adi Soemarmo International Airport to Denpasar, which takes about 1 hour 20 minutes.

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

A flight takes about 1 hour 20 minutes. A bus takes from about 11 hours, and more depending on the destination in Bali, traffic and the ferry queue.

Do I need to buy a separate ticket for the ferry if I take the bus?

Usually not. The bus ticket normally covers the ferry crossing from Ketapang to Gilimanuk, but ask your operator when you book.

What should I do during the ferry crossing?

Passengers usually leave the bus and go to the passenger deck. Take your valuables with you in a small daypack.

Sources and background

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

  1. [1] 12Go: 12Go timetable: Surakarta to Bali. Retrieved November 5, 2026.
  2. [2] PT ASDP Indonesia Ferry: Layanan Penyeberangan Ketapang-Gilimanuk Kembali Normal. Retrieved November 5, 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.