There are 8 ways to get from Johor Bahru to Batu Caves by bus, car, taxi, plane, train, or subway
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from JB Larkin Terminal to Terminal Bersepadu Selatanbus Johor Bahru
5h 33mRM 59–147Drive 342.4 km
cheapest- Drive from Johor Bahru to Batu Cavescar 342.4 km
3h 41mRM 58–84Taxi
- Take the taxi from Johor Bahru to Batu Cavestaxi 342.4 km
3h 41mRM 550–700Fly Senai International Airport to Sultan Abdul Aziz Shah, train
- Fly from Senai International Airport (JHB) to Sultan Abdul Aziz Shah (SZB)plane JHB - SZB
- Take the train from Kuala Lumpur to Batu Cavestrain
5h 5mRM 174–314Bus, train
- Take the bus from Jalan Tun Aminah to KL International Airport 1bus
- Take the train from Klia T1 to KL Sentraltrain KLIA Ekspres / ...
7h 25mRM 77–191Fly Senai International Airport to Kuala Lumpur International Airport, train
- Fly from Senai International Airport (JHB) to Kuala Lumpur International Airport (KUL)plane JHB - KUL
- Take the train from Klia T2 to KL Sentraltrain
- Take the train from KL Sentral to Batu Cavestrain
5h 28mRM 125–352Subway to Seletar Airport, fly to Sultan Abdul Aziz Shah, train
- Take the subway from Marsiling to Yishunsubway
- Fly from Seletar Airport (XSP) to Sultan Abdul Aziz Shah (SZB)plane XSP - SZB
- Take the train from Kuala Lumpur to Batu Cavestrain
6h 33mRM 401–918Bus to Singapore Changi Airport, fly to Sultan Abdul Aziz Shah, train
- Take the bus from Woodlands Check Point to Expo Stnbus
- Fly from Singapore Changi Airport (SIN) to Sultan Abdul Aziz Shah (SZB)plane SIN - SZB
- Take the train from Kuala Lumpur to Batu Cavestrain
6h 20mRM 365–830
Johor Bahru to Batu Caves by bus and subway
Questions & Answers
The cheapest way to get from Johor Bahru to Batu Caves is to drive which costs RM 55 - RM 85 and takes 3h 41m.
The fastest way to get from Johor Bahru to Batu Caves is to drive which takes 3h 41m and costs RM 55 - RM 85.
No, there is no direct bus from Johor Bahru to Batu Caves. However, there are services departing from JB Larkin Terminal and arriving at Sl493 Nissan via Kl117 Bsn Lebuh Ampang. The journey, including transfers, takes approximately 5h 33m.
The distance between Johor Bahru and Batu Caves is 347 km. The road distance is 342.4 km.
The best way to get from Johor Bahru to Batu Caves without a car is to bus which takes 5h 33m and costs RM 55 - RM 150.
It takes approximately 5h 33m to get from Johor Bahru to Batu Caves, including transfers.
Johor Bahru to Batu Caves bus services, operated by KKKL Express, depart from JB Larkin Terminal station.
Johor Bahru to Batu Caves bus services, operated by KKKL Express, arrive at Terminal Bersepadu Selatan station.
Yes, the driving distance between Johor Bahru to Batu Caves is 342 km. It takes approximately 3h 41m to drive from Johor Bahru to Batu Caves.
There are 8237+ hotels available in Batu Caves.
What companies run services between Johor Bahru, Malaysia and Batu Caves, Malaysia?
KKKL Express operates a bus from JB Larkin Terminal to Terminal Bersepadu Selatan hourly. Tickets cost RM 55–85 and the journey takes 4h 30m. Two other operators also service this route.
- Website
- fireflyz.com.my
Flights from Senai International Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h 3m
- When
- Every day
- Estimated price
- RM 120–550
Flights from Senai International Airport to Kuala Lumpur International Airport
- Ave. Duration
- 57 min
- When
- Every day
- Estimated price
- RM 80–340
Flights from Seletar Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- RM 390–900
- Website
- malaysiaairlines.com
Flights from Senai International Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h 3m
- When
- Every day
- Estimated price
- RM 120–550
Flights from Senai International Airport to Kuala Lumpur International Airport
- Ave. Duration
- 57 min
- When
- Every day
- Estimated price
- RM 80–340
Flights from Seletar Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- RM 390–900
- Website
- airasia.com
Flights from Senai International Airport to Kuala Lumpur International Airport
- Ave. Duration
- 52 min
- When
- Every day
- Estimated price
- RM 120–240
- Website
- malindoair.com
Flights from Senai International Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h
- When
- Every day
- Estimated price
- RM 160–240
Flights from Senai International Airport to Kuala Lumpur International Airport
- Ave. Duration
- 1h
- When
- Every day
- Estimated price
- RM 140–270
Flights from Singapore Changi Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h 5m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- RM 330–600
- Website
- flyscoot.com
Flights from Singapore Changi Airport to Sultan Abdul Aziz Shah
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- RM 350–700
- Phone
- +603 - 9779 1200
- [email protected]
- Website
- ktmb.com.my
Train from Kuala Lumpur to Batu Caves
- Ave. Duration
- 25 min
- Frequency
- Hourly
- Estimated price
- RM 4–6
- Website
- https://www.ktmb.com.my/Komuter.html
Train from KL Sentral to Batu Caves
- Ave. Duration
- 29 min
- Frequency
- Hourly
- Estimated price
- RM 4–6
- Website
- https://www.ktmb.com.my/Komuter.html
Train from Kuala Lumpur to Batu Caves
- Ave. Duration
- 25 min
- Frequency
- Hourly
- Estimated price
- RM 4–6
- Website
- https://www.ktmb.com.my/Komuter.html
Train from Kuala Lumpur to Batu Caves
- Ave. Duration
- 25 min
- Frequency
- Hourly
- Estimated price
- RM 4–6
- Website
- https://www.ktmb.com.my/Komuter.html
- Phone
- +603 2267 8000
- [email protected]
- Website
- kliaekspres.com
Train from Klia T1 to KL Sentral
- Ave. Duration
- 30 min
- Frequency
- Every 15 minutes
- Estimated price
- RM 1–75
- Website
- https://www.kliaekspres.com
Train from Klia T2 to KL Sentral
- Ave. Duration
- 33 min
- Frequency
- Every 15 minutes
- Estimated price
- RM 1–80
- Website
- https://www.kliaekspres.com
- Phone
- 1800 336 8900
- Website
- smrt.com.sg
Subway from Marsiling to Yishun
- Ave. Duration
- 14 min
- Frequency
- Every 10 minutes
- Estimated price
- RM 4–6
- Website
- https://www.smrt.com.sg/
- Phone
- 012-708 2999
- [email protected]
- Website
- kkklexpress.com
Bus from JB Larkin Terminal to Terminal Bersepadu Selatan
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- RM 55–85
- Schedules at
- kkklexpress.com
- Book at
- easybook.com
- Phone
- (+60) 123895689
- [email protected]
- Website
- laholidays.my
Bus from JB Larkin Terminal to Terminal Bersepadu Selatan
- Ave. Duration
- 4h 27m
- Frequency
- Hourly
- Estimated price
- RM 35–45
- Schedules at
- laholidays.my
- Book at
- easybook.com
- Phone
- +60 7 360 2244
- [email protected]
- Website
- causewaylink.com.my
Bus from JB Larkin Terminal to Terminal Bersepadu Selatan
- Ave. Duration
- 5h
- Frequency
- 5 times a day
- Estimated price
- RM 100–140
- Schedules at
- causewaylink.com.my
- Book at
- easybook.com
- Phone
- +60 5-545 7669
- [email protected]
- Website
- yoyo.my
Bus from Jalan Tun Aminah to KL International Airport 1
- Ave. Duration
- 4h 47m
- Frequency
- Hourly
- Estimated price
- RM 65–100
- Schedules at
- yoyo.my
- Book at
- easybook.com
- Phone
- +65 6295 9009
- [email protected]
- Website
- transtar.travel
Bus from Woodlands Check Point to Expo Stn
- Ave. Duration
- 45 min
- Frequency
- Every 4 hours
- Estimated price
- RM 15–65
- Schedules at
- transtar.travel
- Ave. Duration
- 3h 41m
- Estimated price
- RM 550–700
Comfort Taxi
- Phone
- +60 7-332 2852
- Website
- comforttaxi.com.my
Grab Taxi
- Website
- grab.com
Public Cab
- Phone
- +603 6259 2020
- Website
- publiccab.com
Sunlight Taxi
- Phone
- 1300-800-222
- Website
- sunlighttaxi.com
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 to travel India's Golden Triangle, 5 incredible day trips from Florence by train, and Bali: What to do if Mount Agung erupts - to help you get the most out of your next trip.


























