Rome2Rio

How to get fromJohor to Batu Cavesby train, bus, car, taxi, or plane

Find Transport to Batu Caves

See all options

There are 9 ways to get from Johor to Batu Caves by train, bus, car, taxi, or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Train

    best
    1. Take the train from Jb Sentral to Kl Sentraltrain train Ets
    5h 19m
    RM 13–63
  2. Bus

    1. Take the bus from JB Larkin Terminal to Terminal Bersepadu Selatanbus bus Johor Bahru
    5h 57m
    RM 59–150
  3. Drive  342.4 km

    1. Drive from Johor Bahru to Batu Cavescar car 342.4 km
    3h 41m
    RM 58–84
  4. Taxi

    1. Take the taxi from Johor Bahru to Batu Cavestaxi taxi 342.4 km
    3h 41m
    RM 550–700
  5. Fly Seletar Airport to Sultan Abdul Aziz Shah, train

    1. Fly from Seletar Airport (XSP) to Sultan Abdul Aziz Shah (SZB)plane plane XSP - SZB
    2. Take the train from Kuala Lumpur to Batu Cavestrain train
    4h 15m
    RM 343–952
  6. Train, bus

    1. Take the train from JB Sentral to Kuala Lumpurtrain train Northbound
    2. Take the bus from Kl1821 Pasar Seni to Sl493 Nissanbus bus Bc2
    5h 38m
    RM 58–62
  7. Fly Senai International Airport to Sultan Abdul Aziz Shah, train

    1. Fly from Senai International Airport (JHB) to Sultan Abdul Aziz Shah (SZB)plane plane JHB - SZB
    2. Take the train from Kuala Lumpur to Batu Cavestrain train
    5h 5m
    RM 164–463
  8. Fly Senai International Airport to Kuala Lumpur International Airport, train

    1. Fly from Senai International Airport (JHB) to Kuala Lumpur International Airport (KUL)plane plane JHB - KUL
    2. Take the train from Klia T2 to KL Sentraltrain train
    3. Take the train from KL Sentral to Batu Cavestrain train
    5h 28m
    RM 115–346
  9. Bus to Singapore Changi Airport, fly to Sultan Abdul Aziz Shah

    1. Take the bus from Johor Bahru CIQ to Expo Stnbus bus
    2. Fly from Singapore Changi Airport (SIN) to Sultan Abdul Aziz Shah (SZB)plane plane SIN - SZB
    6h 45m
    RM 345–886

Johor to Batu Caves by train

Calendar147Weekly Trains
Duration5h 19mAverage Duration
TicketRM 13Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between Johor, Malaysia and Batu Caves, Malaysia?

KTM Intercity operates a train from Jb Sentral to Kl Sentral hourly. Tickets cost RM 9–50 and the journey takes 4h 20m. KTM ETS also services this route every 4 hours. Alternatively, KKKL Express operates a bus from JB Larkin Terminal to Terminal Bersepadu Selatan hourly. Tickets cost RM 55–75 and the journey takes 4h 30m. Two other operators also service this route.

Airlines
Train operators
Bus operators
Other operators

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 Which side of Niagara Falls should I choose (and how do I get there)?, How to get from Gatwick Airport into central London, and How to get from London to Edinburgh - to help you get the most out of your next trip.

Booking & Getting There