There are 10 ways to get from Batam to Madiun 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 Kediri, train
best- Fly from Hang Nadim International Airport (BTH) to Kediri (DHX)plane BTH - DHX
- Take the train from Nganjuk to Madiuntrain
15h 57mRp 2,847,554–6,087,655Ferry, bus
cheapest- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the bus from Pondok Pinang to Madiunbus
2d 5hRp 667,762–1,124,902Ferry, train via Jakarta
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the train from Jakarta Gambir to Madiuntrain Bima / ...
47h 49mRp 720,261–907,401Fly 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 Madiuntrain
6h 43mRp 2,161,554–4,844,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 Madiuntrain
6h 28mRp 1,814,554–3,387,655Fly 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 Madiuntrain
7h 6mRp 1,849,554–3,193,655Fly to Abdul Rachman Saleh Airport, train
- Fly from Hang Nadim International Airport (BTH) to Abdul Rachman Saleh Airport (MLG)plane BTH - MLG
- Take the train from Malang to Madiuntrain
10h 10mRp 2,819,554–3,832,655Fly to Juanda International Airport, train
- Fly from Hang Nadim International Airport (BTH) to Juanda International Airport (SUB)plane BTH - SUB
- Take the train from Surabaya Gubeng to Madiuntrain
8h 12mRp 1,499,054–4,107,655Ferry, train
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry KM Kelud
- Take the train from Pasar Senen to Madiuntrain Bangunkarta / ...
2d 1hRp 714,261–891,401Ferry, train via Surabaya
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry
- Take the ferry from Tanjung Priok to Surabayaferry
- Take the train from Surabaya Gubeng to Madiuntrain
2d 21hRp 829,760–1,217,900
Hang Nadim International Airport (BTH) to Kediri (DHX) flights
Questions & Answers
The cheapest way to get from Batam to Madiun is to ferry and train which costs Rp700000 - Rp900000 and takes 2 days 1h.
The fastest way to get from Batam to Madiun is to fly and train which takes 6h 28m and costs Rp1800000 - Rp3400000.
The distance between Batam and Madiun is 1402 km.
The best way to get from Batam to Madiun without a car is to ferry and train via Jakarta which takes 47h 49m and costs Rp700000 - Rp950000.
It takes approximately 15h 57m to get from Batam to Madiun, including transfers.
There are 47+ hotels available in Madiun.
What companies run services between Batam, Indonesia and Madiun, Indonesia?
There is no direct connection from Batam to Madiun. However, you can take the taxi to Hang Nadim International Airport (BTH) airport, fly to Kediri (DHX), take the taxi to Nganjuk, then take the train to Madiun. Alternatively, you can take a ferry from Batu Ampar to Madiun via Port of Tanjung Priok, Tanjung Priok, Jakarta Kota, Gondangdia, Selatan St. Gondangdia, Gambir 3, and Jakarta Gambir in around 47h 49m.
- Website
- batikair.com
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- Rp 2,300,000–8,000,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- Rp 2,400,000–7,000,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 7m
- When
- Every day
- Estimated price
- Rp 2,500,000–7,500,000
Flights from Hang Nadim International Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 6h 1m
- When
- Every day
- Estimated price
- Rp 3,000,000–22,000,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- Rp 2,500,000–7,500,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 3,500,000–18,000,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- Rp 3,200,000–16,000,000
Flights from Hang Nadim International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- Rp 3,400,000–17,000,000
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- Rp 1,300,000–1,900,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 10m
- When
- Every day
- Estimated price
- Rp 3,200,000–16,000,000
- Website
- superairjet.com
Flights from Hang Nadim International Airport to Kediri via Soekarno–Hatta
- Ave. Duration
- 14h 10m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- Rp 2,600,000–6,500,000
Flights from Hang Nadim International Airport to Kediri via Sultan Syarif Kasim II, Soekarno–Hatta
- Ave. Duration
- 19h 5m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- Rp 3,000,000–7,500,000
Flights from Hang Nadim International Airport to Yogyakarta International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,600,000–2,200,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,600,000–2,200,000
Flights from Hang Nadim International Airport to Ahmad Yani
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- Rp 1,600,000–1,900,000
- Website
- lionair.co.id
Flights from Hang Nadim International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h
- When
- Friday
- Estimated price
- Rp 2,000,000–4,400,000
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,300,000–2,100,000
Flights from Hang Nadim International Airport to Juanda International Airport via Sultan Mahmud Badaruddin II
- Ave. Duration
- 5h 20m
- When
- Sunday
- Estimated price
- Rp 1,300,000–2,100,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,900,000–2,500,000
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- Rp 1,300,000–1,900,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 17m
- When
- Every day
- Estimated price
- Rp 1,300,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,500,000–8,500,000
Train from Nganjuk to Madiun
- Ave. Duration
- 33 min
- Frequency
- Hourly
- Estimated price
- Rp 28,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 28,000–320,000
- Business
- Rp 290,000–550,000
- Executive
- Rp 50,000–650,000
Train from Jakarta Gambir to Madiun
- Ave. Duration
- 8h 18m
- Frequency
- 3 times a day
- Estimated price
- Rp 320,000–420,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–420,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Solo Balapan to Madiun
- Ave. Duration
- 1h 2m
- Frequency
- Hourly
- Estimated price
- Rp 55,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 55,000–320,000
- Business
- Rp 310,000–550,000
- Executive
- Rp 100,000–650,000
Train from Yogyakarta to Madiun
- Ave. Duration
- 1h 50m
- Frequency
- Hourly
- Estimated price
- Rp 95,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 95,000–320,000
- Business
- Rp 330,000–550,000
- Executive
- Rp 170,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
Train from Malang to Madiun
- Ave. Duration
- 4h 2m
- Frequency
- Every 4 hours
- Estimated price
- Rp 140,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 140,000–320,000
- Business
- Rp 360,000–550,000
- Executive
- Rp 260,000–700,000
Train from Surabaya Gubeng to Madiun
- Ave. Duration
- 1h 55m
- Frequency
- Every 3 hours
- Estimated price
- Rp 90,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 90,000–320,000
- Business
- Rp 330,000–550,000
- Executive
- Rp 170,000–650,000
Train from Pasar Senen to Madiun
- Ave. Duration
- 9h 57m
- Frequency
- 5 times a day
- Estimated price
- Rp 320,000–420,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–420,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,000,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
- Phone
- 021-769 3000
- kramatdjati.jakarta@gmail.com
- Website
- kramat-djati.com
Bus from Pondok Pinang to Madiun
- Ave. Duration
- 11h
- Frequency
- Once daily
- Estimated price
- Rp 270,000–650,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
Ferry from Tanjung Priok to Surabaya
- Ave. Duration
- 28h 34m
- Frequency
- Twice daily
- Estimated price
- Rp 300,000–370,000
- Book at
- pelni.co.id
- Economy Class
- Rp 300,000–370,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 Is ride-sharing platform BlaBlaCar right for you?, How do I get from Sydney to Melbourne, and 4 stunningly beautiful Philippines islands you need to visit - to help you get the most out of your next trip.













