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 56mRp 1,699,496–3,716,313Ferry, 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,780Ferry, 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,780Fly 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,496–3,304,313Fly 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 50mRp 1,327,496–2,789,313Ferry, 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 706,878–828,780
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 Rp700000 - Rp850000 and takes 2 days 3h.
The fastest way to get from Batam to Surakarta is to fly and train which takes 4h 50m 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 56m to get from Batam to Surakarta, including transfers.
There are 287+ hotels available in Surakarta.
What companies run services between Batam, Indonesia and Surakarta, Indonesia?
Citilink Indonesia, Batik Air, and three other airlines fly from Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC) every 4 hours.
- 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 1,800,000–4,800,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- Rp 1,600,000–4,200,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,600,000–4,200,000
- Website
- batikair.com
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 8m
- When
- Every day
- Estimated price
- Rp 1,700,000–4,600,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–4,000,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–4,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,600,000–3,600,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- Rp 1,800,000–2,600,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,100,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 30m
- When
- Monday, Tuesday, Wednesday, Friday, and Saturday
- Estimated price
- Rp 1,400,000–3,200,000
- Website
- superairjet.com
Flights from Hang Nadim International Airport to Ahmad Yani
- Ave. Duration
- 2h
- When
- Wednesday, Friday, and Sunday
- Estimated price
- Rp 1,300,000–3,200,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
- 5h 10m
- When
- Every day
- Estimated price
- Rp 1,200,000–2,100,000
- Website
- lionair.co.id
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 30m
- When
- Friday
- Estimated price
- Rp 1,600,000–3,600,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
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
- info@railink.co.id
- Website
- railink.co.id
Train from Yogyakarta International Airport to Yogyakarta Tugu Station
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- Rp 20,000–60,000
- Schedules at
- railink.co.id
- admin@prameks.com
- 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
- cs@damri.co.id
- 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
- kramatdjati.jakarta@gmail.com
- Website
- Kramat Djati
Bus from Pondok Pinang to Solo Terminal Tirtonadi
- Ave. Duration
- 9h 8m
- Frequency
- Once daily
- Estimated price
- Rp 300,000–350,000
- Website
- Kramat Djati
- Phone
- +62 811-1621-162
- infopelni162@pelni.co.id
- 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 What are the different types of Renfe trains in Spain?, How to get from Heathrow Airport into central London, and Heading to Europe? Read this before you buy a Eurail Pass - to help you get the most out of your next trip.














