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 48mRp 1,706,555–3,624,656Ferry, bus via South Tangerang
cheapest- 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 577,760–744,900Ferry, train
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the train from Jakarta Gambir to Solo Balapantrain Bima / ...
47h 6mRp 717,760–854,900Fly 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 16mRp 1,794,554–2,773,655Fly 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 54mRp 1,834,554–5,187,655Ferry, bus
- 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 57mRp 605,760–1,152,900
Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC) flights
Questions & Answers
The cheapest way to get from Batam to Surakarta is to ferry and bus via South Tangerang which costs Rp550000 - Rp750000 and takes 2 days 3h.
The fastest way to get from Batam to Surakarta is to fly which takes 4h 48m and costs Rp1700000 - Rp3700000.
The distance between Batam and Surakarta is 1240 km.
The best way to get from Batam to Surakarta without a car is to ferry and train which takes 47h 6m and costs Rp700000 - Rp900000.
It takes approximately 4h 48m to get from Batam to Surakarta, including transfers.
There are 257+ hotels available in Surakarta.
What companies run services between Batam, Indonesia and Surakarta, Indonesia?
Batik Air, Garuda Indonesia, and two other airlines fly from Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC) 5 times a day.
- Website
- batikair.com
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- Rp 1,500,000–6,500,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- Rp 1,700,000–4,800,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- Rp 1,700,000–4,700,000
- Website
- garuda-indonesia.com
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 50m
- When
- Monday, Wednesday, Thursday, and Saturday
- Estimated price
- Rp 2,000,000–6,500,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- Rp 1,900,000–6,000,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- Rp 1,900,000–6,000,000
- Website
- superairjet.com
Flights from Hang Nadim International Airport to Ahmad Yani
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- Rp 1,600,000–1,900,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,700,000–4,900,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Minangkabau
- Ave. Duration
- 4h 35m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- Rp 1,700,000–4,900,000
- Website
- lionair.co.id
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 3h 50m
- When
- Friday and Sunday
- Estimated price
- Rp 1,500,000–3,800,000
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Sultan Mahmud Badaruddin II, Soekarno–Hatta
- Ave. Duration
- 5h 50m
- When
- Friday
- Estimated price
- Rp 1,600,000–3,500,000
- Website
- citilink.co.id
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- Rp 1,700,000–2,400,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,100,000–6,500,000
Train from Jakarta Gambir to Solo Balapan
- Ave. Duration
- 6h 55m
- Frequency
- Every 4 hours
- Estimated price
- Rp 320,000–380,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–380,000
- Business
- Rp 470,000–550,000
- Executive
- Rp 600,000–900,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
- 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–50,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,001
- Schedules at
- kai.id
- Phone
- (021) 1500 825
- humas@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
- https://12go.asia/en/operator/damri
- Phone
- 021-769 3000
- kramatdjati.jakarta@gmail.com
- Website
- kramat-djati.com
Bus from Pondok Pinang to Solo Terminal Tirtonadi
- Ave. Duration
- 9h 8m
- Frequency
- Once daily
- Estimated price
- Rp 180,000–270,000
- Website
- http://www.kramat-djati.com/
- 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 390,000–470,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 390,000–470,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 How do I buy a London Underground ticket?, How to get from Southend Airport into central London, and What are the different types of Renfe trains in Spain? - to help you get the most out of your next trip.















