There are 6 ways to get from Batam to Surakarta by plane, ferry, train, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Adisumarmo International Airport
best- Fly from Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC)plane BTH - SOC
4h 51mRp 1,599,524–3,516,347Ferry, bus
cheapest- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the bus from DAMRI Bus Station Jakarta to Surakartabus Jakarta - Surakarta
47h 58mRp 634,878–1,181,779Ferry, train
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the train from Jatinegara to Solo Balapantrain
46h 31mRp 728,878–865,779Fly to Ahmad Yani, train
- Fly from Hang Nadim International Airport (BTH) to Ahmad Yani (SRG)plane BTH - SRG
- Take the train from Semarang Poncol Station to Solobalapantrain
5h 14mRp 2,017,523–3,304,346Fly to Yogyakarta International Airport, train
- Fly from Hang Nadim International Airport (BTH) to Yogyakarta International Airport (YIA)plane BTH - YIA
- Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain
- Take the train from Yogyakarta to Solo Balapantrain
4h 51mRp 1,327,523–2,779,346Ferry, bus via South Tangerang
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the bus from Pondok Pinang to Solo Terminal Tirtonadibus
2d 3hRp 696,878–828,779
Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC) flights
Comparing Your Travel Options
The cheapest way to get from Batam to Surakarta is to ferry and bus via South Tangerang which costs Rp650000 - Rp850000 and takes 2 days 3h.
The fastest way to get from Batam to Surakarta is to fly and train which takes 4h 51m and costs Rp1300000 - Rp2800000.
The distance between Batam and Surakarta is 1239 km.
The best way to get from Batam to Surakarta without a car is to ferry and train which takes 46h 31m and costs Rp700000 - Rp900000.
It takes approximately 4h 51m to get from Batam to Surakarta, including transfers.
There are 284+ hotels available in Surakarta.
What companies run services between Batam, Indonesia and Surakarta, Indonesia?
Batik Air, Citilink Indonesia, and two other airlines fly from Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC) every 4 hours.
- Website
- batikair.com
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 29m
- When
- Every day
- Estimated price
- Rp 1,500,000–4,400,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- Rp 2,000,000–3,900,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- Rp 2,000,000–3,900,000
- Website
- garuda-indonesia.com
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 30m
- When
- Every day
- Estimated price
- Rp 2,200,000–9,000,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- Rp 1,900,000–8,000,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 22m
- When
- Every day
- Estimated price
- Rp 1,900,000–8,000,000
- Website
- citilink.co.id
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 1,500,000–3,400,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- Rp 1,300,000–3,100,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,300,000–3,000,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h
- When
- Monday, Tuesday, Wednesday, Friday, and Saturday
- Estimated price
- Rp 1,300,000–3,100,000
- Website
- superairjet.com
Flights from Hang Nadim International Airport to Ahmad Yani
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- Rp 1,300,000–3,200,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 1,400,000–3,300,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,200,000–2,100,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 10m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- Rp 1,200,000–2,100,000
- Website
- flynamair.com
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 3h 40m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- Rp 1,200,000–6,500,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Jatinegara to Solo Balapan
- Ave. Duration
- 6h 50m
- Frequency
- 3 times a day
- Estimated price
- Rp 320,000–370,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–370,000
- Business
- Rp 470,000–550,000
- Executive
- Rp 600,000–850,000
Train from Semarang Poncol Station to Solobalapan
- Ave. Duration
- 1h 49m
- Frequency
- 5 times a day
- Estimated price
- Rp 65,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 65,000–320,000
- Business
- Rp 310,000–550,000
- Executive
- Rp 120,000–650,000
Train from Yogyakarta to Solo Balapan
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- Rp 36,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 36,000–320,000
- Business
- Rp 290,000–550,000
- Executive
- Rp 65,000–650,000
- Phone
- +62 877-7702-1121
- [email protected]
- Website
- railink.co.id
Train from Yogyakarta International Airport to Yogyakarta Tugu Station
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- Rp 20,000–50,000
- Schedules at
- railink.co.id
- [email protected]
- Website
- kai.id
Train from Yogyakarta to Solo Balapan
- Ave. Duration
- 1h 13m
- Frequency
- Every 3 hours
- Estimated price
- Rp 15,000
- Schedules at
- kai.id
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Bus from DAMRI Bus Station Jakarta to Surakarta
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 150,000–600,000
- Book at
- 12 Go
- Phone
- 021-769 3000
- [email protected]
- Website
- Kramat Djati
Bus from Pondok Pinang to Solo Terminal Tirtonadi
- Ave. Duration
- 9h 8m
- Frequency
- Once daily
- Estimated price
- Rp 290,000–350,000
- Website
- Kramat Djati
- Phone
- +62 811-1621-162
- [email protected]
- Website
- facebook.com
Ferry from Batu Ampar to Port of Tanjung Priok
- Ave. Duration
- 36h 45m
- Frequency
- Once daily
- Estimated price
- Rp 400,000–480,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 400,000–480,000
Ferry from Batu Ampar to Port of Tanjung Priok
- Ave. Duration
- 36h 45m
- Frequency
- Once daily
- Estimated price
- Rp 400,000–480,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 400,000–480,000
Ferry from Batu Ampar to Port of Tanjung Priok
- Ave. Duration
- 36h 45m
- Frequency
- Once daily
- Estimated price
- Rp 400,000–480,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 400,000–480,000
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 Train travel in Spain: A guide to Renfe, How to get from Stansted Airport into central London, and Travelling to the US: What do I need to know? - to help you get the most out of your next trip.














