Rome2Rio

How to get fromJakarta to Surakartaby plane, train, bus or car

Find Transport to Surakarta

See all options

There are 8 ways to get from Jakarta to Surakarta by plane, train, bus, or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Fly Soekarno–Hatta International Airport to Adisumarmo International Airport

    best
    1. Fly from Soekarno–Hatta International Airport (CGK) to Adisumarmo International Airport (SOC)planeCGK - SOC
    3h 30m
    Rp 965,566–1,552,825
  2. Bus

    cheapest
    1. Take the bus from DAMRI Bus Station Jakarta to SurakartabusJakarta - Surakarta
    11h 21m
    Rp 150,000–600,000
  3. Train

    1. Take the train from Jatinegara to Solo Balapantrain
    6h 50m
    Rp 320,000–370,000
  4. Drive 528.7 km

    1. Drive from Jakarta to Surakartacar528.7 km
    6h 14m
    Rp 979,444–1,414,753
  5. Fly Halim Perdanakusuma Airport to Adisutjipto International Airport, train

    1. Fly from Halim Perdanakusuma Airport (HLP) to Adisutjipto International Airport (JOG)planeHLP - JOG
    2. Take the train from Stasiun Maguwo to Solobalapantrain
    5h 2m
    Rp 1,417,026–1,817,026
  6. Fly Soekarno–Hatta International Airport to Ahmad Yani, train

    1. Fly from Soekarno–Hatta International Airport (CGK) to Ahmad Yani (SRG)planeCGK - SRG
    2. Take the train from Semarang Poncol Station to Solobalapantrain
    5h 33m
    Rp 953,566–1,901,825
  7. Fly Soekarno–Hatta International Airport to Yogyakarta International Airport, train

    1. Fly from Soekarno–Hatta International Airport (CGK) to Yogyakarta International Airport (YIA)planeCGK - YIA
    2. Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain
    3. Take the train from Yogyakarta to Solo Balapantrain
    5h 6m
    Rp 743,566–1,715,825
  8. Bus via Pondok Pinang

    1. Take the bus from Pondok Pinang to Solo Terminal Tirtonadibus
    11h 33m
    Rp 183,500–273,500

Jakarta to Surakarta by train

Calendar21Weekly Trains
Duration6h 50mAverage Duration
TicketRp 320,000Cheapest Price
See schedules

Questions & Answers

What companies run services between Jakarta, Indonesia and Surakarta, Indonesia?

Citilink Indonesia, Batik Air, and two other airlines fly from Soekarno–Hatta International Airport (CGK) to Adisumarmo International Airport (SOC) every 4 hours. Alternatively, Kereta API operates a train from Jatinegara to Solo Balapan 3 times a day. Tickets cost Rp 320,000–370,000 and the journey takes 6h 50m.

Transport is disrupted due to the Russia-Ukraine war. Read more

Airlines
Train operators
Bus operators

Want to know more about travelling around the world?

Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How do I get from Sydney to Melbourne, Getting to Milan from the airport, and How to travel India's Golden Triangle - to help you get the most out of your next trip.

More Questions & Answers