There are 7 ways to get from Johor Bahru to Batu by plane, ferry, bus, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Singapore Changi Airport to Abdul Rachman Saleh Airport
best- Fly from Singapore Changi Airport (SIN) to Abdul Rachman Saleh Airport (MLG)plane SIN - MLG
7h 45mRp 3,737,625–5,480,869Ferry, bus
cheapest- Take the ferry from HarbourFront to Batam Harbour Bay Ferry Terminalferry
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry
- Take the bus from DAMRI Bus Station Jakarta to Kota Malangbus
2d 5hRp 1,304,960–2,376,344Ferry to Hang Nadim International Airport, fly to Juanda International Airport, bus
- Take the ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centreferry
- Fly from Hang Nadim International Airport (BTH) to Juanda International Airport (SUB)plane BTH - SUB
- Take the bus from Purabaya Bus Terminal to Malang Terminal Arjosaribus
9h 9mRp 2,448,456–3,362,956Fly Singapore Changi Airport to Juanda International Airport, bus
- Fly from Singapore Changi Airport (SIN) to Juanda International Airport (SUB)plane SIN - SUB
- Take the bus from Purabaya Bus Terminal to Malang Terminal Arjosaribus
8h 54mRp 2,016,125–4,618,869Fly Senai International Airport to Juanda International Airport, bus
- Fly from Senai International Airport (JHB) to Juanda International Airport (SUB)plane JHB - SUB
- Take the bus from Purabaya Bus Terminal to Malang Terminal Arjosaribus
8h 43mRp 1,669,502–7,974,409Ferry, train
- Take the ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centreferry
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry
- Take the train from Pasar Senen to Lawangtrain
2d 7hRp 1,353,456–1,658,456Ferry, bus via Tanjung Balai
- Take the ferry from Singapore Harbour Front to Tanjung Balai Karimunferry
- Take the ferry from Tanjung Balai Karimun to Port of Tanjung Priokferry
- Take the bus from Jakarta Kampung Rambutan Bus Station to Singosaribus
2d 21hRp 1,562,941–2,595,929
Singapore Changi Airport (SIN) to Abdul Rachman Saleh Airport (MLG) flights
Questions & Answers
The cheapest way to get from Johor Bahru to Batu is to ferry and train which costs Rp1300000 - Rp1700000 and takes 2 days 7h.
The fastest way to get from Johor Bahru to Batu is to fly which takes 7h 45m and costs Rp3700000 - Rp5500000.
The distance between Johor Bahru and Batu is 1486 km.
The best way to get from Johor Bahru to Batu without a car is to ferry and bus which takes 2 days 5h and costs Rp1300000 - Rp2400000.
It takes approximately 7h 45m to get from Johor Bahru to Batu, including transfers.
Batu is 1h behind Johor Bahru. It is currently 4:02 AM in Johor Bahru and 3:02 AM in Batu.
There are 1022+ hotels available in Batu.
What companies run services between Johor Bahru, Malaysia and Batu, Indonesia?
Singapore Airlines, Citilink Indonesia, and two other airlines fly from Singapore Changi Airport (SIN) to Abdul Rachman Saleh Airport (MLG) 3 times a day.
- Website
- garuda-indonesia.com
Flights from Singapore Changi Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 2,600,000–10,000,000
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 10m
- When
- Every day
- Estimated price
- Rp 1,800,000–4,800,000
Flights from Singapore Changi Airport to Juanda International Airport
- Ave. Duration
- 2h 22m
- When
- Every day
- Estimated price
- Rp 1,500,000–5,500,000
Flights from Singapore Changi Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 2m
- When
- Every day
- Estimated price
- Rp 1,800,000–4,500,000
Flights from Senai International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 4h 35m
- When
- Saturday and Sunday
- Estimated price
- Rp 2,000,000–6,000,000
- Website
- batikair.com
Flights from Singapore Changi Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- Rp 2,600,000–10,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 1,900,000–5,000,000
Flights from Singapore Changi Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 46m
- When
- Every day
- Estimated price
- Rp 2,300,000–4,800,000
- Website
- singaporeair.com
Flights from Singapore Changi Airport to Juanda International Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- Rp 1,400,000–5,500,000
- Website
- citilink.co.id
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,000
Flights from Singapore Changi Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- Rp 2,600,000–4,000,000
- Website
- lionair.co.id
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,800,000–2,400,000
- Website
- flyscoot.com
Flights from Singapore Changi Airport to Juanda International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- Rp 1,400,000–2,800,000
- Website
- airasia.com
Flights from Senai International Airport to Juanda International Airport
- Ave. Duration
- 2h 20m
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- Rp 1,300,000–5,500,000
- Website
- malaysiaairlines.com
Flights from Senai International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 4h 35m
- When
- Saturday and Sunday
- Estimated price
- Rp 2,000,000–6,000,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Pasar Senen to Lawang
- Ave. Duration
- 12h 21m
- Frequency
- Once daily
- Estimated price
- Rp 320,000–490,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–490,000
- Business
- Rp 490,000–600,000
- Executive
- Rp 700,000–1,200,000
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Bus from DAMRI Bus Station Jakarta to Kota Malang
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 230,000–900,000
- Book at
- https://12go.asia/en/operator/damri
- Phone
- +62 341 395524
- Website
- instagram.com
Bus from Purabaya Bus Terminal to Malang Terminal Arjosari
- Ave. Duration
- 1h 44m
- Frequency
- Every 30 minutes
- Estimated price
- Rp 25,000–38,000
- Schedules at
- instagram.com
Bus from Purabaya Bus Terminal to Malang Terminal Arjosari
- Ave. Duration
- 1h 44m
- Frequency
- Every 30 minutes
- Estimated price
- Rp 25,000–38,000
- Schedules at
- instagram.com
Bus from Purabaya Bus Terminal to Malang Terminal Arjosari
- Ave. Duration
- 1h 44m
- Frequency
- Every 30 minutes
- Estimated price
- Rp 25,000–38,000
- Schedules at
- instagram.com
- Website
- pahalakencana.co.id
Bus from Jakarta Kampung Rambutan Bus Station to Singosari
- Ave. Duration
- 19h 58m
- Frequency
- Once daily
- Estimated price
- Rp 300,000–600,000
- Schedules at
- pahalakencana.co.id
- Book at
- easybook.com
- [email protected]
- Website
- horizonfastferry.com.sg
Ferry from HarbourFront to Batam Harbour Bay Ferry Terminal
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- Rp 600,000–900,000
- Schedules at
- horizonfastferry.com.sg
- Phone
- +65 6270 2228
- [email protected]
- Website
- batamfast.com
Ferry from HarbourFront to Batam Harbour Bay Ferry Terminal
- Ave. Duration
- 50 min
- Frequency
- Every 2 hours
- Estimated price
- Rp 450,000–700,000
- Schedules at
- batamfast.com
- Book at
- batamfast.com
- 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 390,000–470,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 390,000–470,000
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 Balai Karimun to Port of Tanjung Priok
- Ave. Duration
- 39h 3m
- Frequency
- Once daily
- Estimated price
- Rp 400,000–490,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 400,000–490,000
- Phone
- +607 221 8000
- Website
- berjayawaterfront.com
Ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centre
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- Rp 434,957
- Schedules at
- berjayawaterfront.com.my
Ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centre
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- Rp 434,957
- Schedules at
- berjayawaterfront.com.my
- Phone
- +65 6331 4123
- [email protected]
- Website
- sindoferry.com.sg
Ferry from Singapore Harbour Front to Tanjung Balai Karimun
- Ave. Duration
- 2h
- Frequency
- Twice daily
- Estimated price
- Rp 700,000–1,300,000
- Schedules at
- sindoferry.com.sg
- Book at
- 12go.asia
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 Slovenia: Getting from Ljubljana to Lake Bled, Which London airport should I choose?, and Travelling by boat in Italy - to help you get the most out of your next trip.















