There are 6 ways to get from Batam to Yogyakarta by plane, train, ferry, 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 Yogyakarta International Airport, train
best- 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
3h 46mRp 1,719,554–4,867,654Ferry, bus via Bekasi
cheapest- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the bus from Bekasi to Yogyakartabus
2d 3hRp 503,760–635,900Ferry, train
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the train from Gambir Jakarta to Yogyakarta Tugutrain Taksaka / ...
46h 16mRp 717,762–844,902Fly to Adisumarmo International Airport, train
- Fly from Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC)plane BTH - SOC
- Take the train from Solo Balapan to Yogyakartatrain
6h 6mRp 2,221,554–3,244,654Fly 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
- Take the train from Solo Balapan to Yogyakartatrain
6h 30mRp 1,809,554–2,993,654Ferry, bus
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the bus from DAMRI Bus Station Jakarta to Yogyakartabus Jakarta - Yogyakarta
47h 57mRp 605,760–1,152,900
Hang Nadim International Airport (BTH) to Yogyakarta International Airport (YIA) flights
Questions & Answers
The cheapest way to get from Batam to Yogyakarta is to ferry and bus via Bekasi which costs Rp500000 - Rp650000 and takes 2 days 3h.
The fastest way to get from Batam to Yogyakarta is to fly and train which takes 3h 46m and costs Rp1700000 - Rp4900000.
The distance between Batam and Yogyakarta is 1258 km.
The best way to get from Batam to Yogyakarta without a car is to ferry and train which takes 46h 16m and costs Rp700000 - Rp850000.
It takes approximately 3h 46m to get from Batam to Yogyakarta, including transfers.
There are 2381+ hotels available in Yogyakarta.
What companies run services between Batam, Indonesia and Yogyakarta, Indonesia?
There is no direct connection from Batam to Yogyakarta. However, you can take the taxi to Hang Nadim International Airport (BTH) airport, fly to Yogyakarta International Airport (YIA), walk to Yogyakarta International Airport, then take the train to Yogyakarta Tugu Station. Alternatively, you can take a ferry from Batu Ampar to Yogyakarta Tugu via Port of Tanjung Priok, Term. Tj. Priok 1, Term. Senen, Sbr. St. Gambir, and Gambir Jakarta in around 46h 16m.
- Website
- batikair.com
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–5,500,000
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- Rp 1,800,000–6,000,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 21m
- When
- Every day
- Estimated price
- Rp 1,800,000–5,500,000
- Website
- garuda-indonesia.com
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- Rp 2,300,000–7,500,000
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,600,000–8,500,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- Rp 2,400,000–8,000,000
- Website
- superairjet.com
Flights from Hang Nadim International Airport to Yogyakarta International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,600,000–4,700,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Minangkabau
- Ave. Duration
- 4h 35m
- When
- Thursday and Saturday
- Estimated price
- Rp 1,600,000–4,700,000
Flights from Hang Nadim International Airport to Ahmad Yani
- Ave. Duration
- 2h
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 1,600,000–1,900,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
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Supadio
- Ave. Duration
- 5h 30m
- When
- Tuesday
- Estimated price
- Rp 1,400,000–7,500,000
- Website
- citilink.co.id
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 25m
- When
- Every day
- Estimated price
- Rp 1,400,000–3,300,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,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
Train from Gambir Jakarta to Yogyakarta Tugu
- Ave. Duration
- 6h 5m
- Frequency
- Every 3 hours
- Estimated price
- Rp 320,000–370,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–370,000
- Business
- Rp 460,000–550,000
- Executive
- Rp 550,000–850,000
Train from Solo Balapan to Yogyakarta
- Ave. Duration
- 51 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
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
- admin@prameks.com
- Website
- kai.id
Train from Solo Balapan to Yogyakarta
- Ave. Duration
- 1h 15m
- 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 Yogyakarta
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 150,000–600,000
- Book at
- https://12go.asia/en/operator/damri
- Phone
- (0275) 641018, 641093
- Website
- sumberalam.co.id
Bus from Bekasi to Yogyakarta
- Ave. Duration
- 10h 32m
- Frequency
- Twice daily
- Estimated price
- Rp 110,000–160,000
- Schedules at
- sumberalam.co.id
- Book at
- 12go.asia
- 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 Italy Travel Guides, How to get from London to Edinburgh, and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - to help you get the most out of your next trip.















