Photo: Big city with a village feel.

How to get to and from Solo

Use the quicklinks below to jump to the desired section regarding transport in and around Solo.


Adi Soemarmo Airport (SOC) is approximately 15 kilometres northwest of the city with daily direct flights to Jakarta (80 mins); Bandung (80 mins); Surabaya (1 hour); Malang (50 mins); Denpasar (80 mins); Lombok (1.45 hour); and Makassar (2 hours) as well as other connections across Indonesia.

Weekly International flights include to Kuala Lumpur (2.5 hours, 3 x week), Jeddah (12 hours) and Medina (10,5 hours).

Carriers serving Adi Soemarmo Airport include AirAsia, Garuda, Citilink, Nam Air and Lion Air.

DAMRI bus to the Adi Soemarmo Airport runs every hour from 05:30 to 19:30 (30 minutes; 20,000 rupiah). Buses from the airport to Tirtonadi Bus Terminal run at 07:00 then hourly from 08:30 to 22:00.

A new railway is being constructed between Balapan Station to Adi Soemarmo Airport, due for completion in late 2018.

Top of page


Solo has four railway stations, Balapan Station, north of the city centre is Solo’s main station for business and executive and some economy train services. An elevated walkway conveniently connects Balapan Station to Solo’s main bus terminal, Tirtonadi. Mostly economy class trains operate from Purwosari Station around three kilometres to the west. Solojebas to the east and Solo Kota, to the south are minor stations and only a few trains stop there. Balapan, Purwosari and Solojebas are all on the same line and Purwosari connects to Solo Kota for trains to Wonogiri.

Frequent and inexpensive local economy trains run between Solo and Yogyakarta (1 hour; 8,000 rupiah). Tickets for this service are only available at the stations and can’t be booked online. Many other trains that are available to reserve online also connect to Yogyakarta, but are more expensive. Solo has regular connection across Java along three lines that run:

Bandung-Banjar (for Pangandran)-Yogyakarta-Solo-Surabaya-Malang;

One economy train connects daily to Banyuwangi via Kaibaru, Probolinggo and Surabuya. A new railway is under constructed between Balapan Station to Adi Soemarmo Airport, due for completion late 2018.

Sample details include:
Bandung: 8.5–9.5 hours; 140,000–460,000 rupiah
Banjar (for Pangandran): 4.5–5.5 hours; 84,000–350,000 rupiah
Banyuwangi: 13 hours; 94,000 rupiah
Jakarta (Gambir): 8.5–9 hours; 285,000–535,000 rupiah
Jakarta (Pasar Senin): 9.5–10 hours: 230,000–300,000 rupiah
Jember: 9.5–10 hours; 74,000–315,000 rupiah?Kalibaru: 11.5 hours; 94,000 rupiah
Malang: 6–7 hours; 140,000–350,000 rupiah
Probolinggo: 7.5–8.5 hours; 74,000–315,000 rupiah
Surabaya: 3.5–6.5 hours; 74,000–285,000 rupiah
Yogya (excluding local service): 45 mins–1 hour; 50,000–350,000 rupiah

See for schedule details (Indonesian only). Bookings can be made with foreign cards at or purchased at any train station, Alfamart or Indomaret.

Top of page


Solo has one main bus terminal, Tirtonadi Bus Terminal, located north of the city centre beyond Balapan train station. An elevated walkway conveniently connects the two. The terminal is large and modern with an information booth and decent signage to find your way around, waiting rooms and a plethora of warungs to stock up on snacks for your journey. Tickets are available on the buses. If you are arriving to Solo, ojeks and taxis are obtainable from booths near the exit. Online ojeks and taxis such as Go-jek are not permitted to enter the bus terminal, to use these services you’ll have to walk to the main road.

Sample destinations include the following, note that prices and travel times are approximate:

Bali (Denpasar): 15:00 (2 days; 400,000 rupiah)
Bandung: 16:00 (10 hours; 180,000 rupiah)
Banyuwangi: 13:30; 16:00; 18:00 (12 hours; 120,000 rupiah)
Jakarta: Hourly from 14:00 to 21:00 (12 hours; Patas: 1000,000 rupiah; Executive: 185,000 rupiah; Super executive: 250,000 rupiah)
Malang: 10:00; 15:00; 20:00 (9 hours, 125,000 rupiah)
Semarang: Every few minutes, 24 hours (5 hours; 75,000 rupiah)
Sumatra (Lampung): 16:00 (2 days; 400,000 rupiah)
Surabaya: Every few minutes, 24 hours (7 hours, Economy: 60,000 rupiah, Patas: 100,000 rupiah)
Wonosobo: 08:00 (4 hours, 60,000 rupiah)
Yogyakarta: Every few minutes, 24 hours (2 hours, 12,000–15,000 rupiah)

If you are staying west of the city, a small Bus Terminal near Solo Square Mall may be more convenient, but not all busses pass here, so double check the service you require.

DAMRI bus to the Adi Soemarmo Airport runs every hour from 05:30 to 19:30 (30 minutes; 20,000 rupiah). Buses from the airport to Tirtonadi Bus Terminal run at 07:00 then hourly from 08:30 to 22:00.

Candi Cetho and Candi Sukuh can be reached by minibus connections, but it’s then a long walk or ojek ride to the temples. From Solo minibuses run hourly from 06:00 to 17:00 to Karangpandan (45 minutes; 5,000 rupiah) where you change to a minibus to Kemuning (30 minutes; 5,000 rupiah)

Top of page

Getting around

Solo’s city centre is small and easily walkable and is also relatively easy to get around on bicycles, often available to rent from guesthouses and hotels. Online service Go-jek is the convenient for travelling further out of town with both motorbike and regular taxis. You’ll have to download the app and register.

To see the sights in the surrounding areas, such as the Sukuh and Cetho temples, hotels, guesthouses and travel offices are happy to arrange hire cars with drivers, motorcycle hire or tours. Expect around 600,000 rupiah for a day trip by car to the temples.

Top of page

If you enjoyed this article and would like to support independent travel writing on Southeast Asia, please subscribe to Travelfish—it’s just A$35 per year (less than A$1 per week)!


Travel better, travel smarter

Save money, receive our latest updates and get the most out of your travels.


Where to next?

Where are you planning on heading to after Solo? Here are some spots commonly visited from here, or click here to see a full destination list for Indonesia.

Top of page