The average train between Putrajaya and Batu Caves takes 1h 2m and the fastest train takes 53 min. There is a train service every few hours from Putrajaya to Batu Caves. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Putrajaya and Batu Caves. The earliest departure is at 6:38 AM in the morning, and the last departure from Putrajaya is at 10:38 PM which arrives into Batu Caves at 11:46 PM. All services require a transfer at Kl Sentral and take an average of 1h 2m. The schedules shown below are for the next available departures.

1h 13m • 1 change
1h 8m • 1 change
1h 13m • 1 change
1h • 1 change
1h 5m • 1 change
55 min • 1 change
55 min • 1 change
1h 10m • 1 change
1h 3m • 1 change
53 min • 1 change
1h • 1 change
1h 5m • 1 change
1h 3m • 1 change
53 min • 1 change
1h • 1 change
1h 5m • 1 change
1h 3m • 1 change
53 min • 1 change
1h • 1 change
1h 5m • 1 change
1h 3m • 1 change
53 min • 1 change
1h • 1 change
1h 5m • 1 change
1h 3m • 1 change
53 min • 1 change
1h • 1 change
1h 5m • 1 changeWant to know about travelling from Putrajaya to Batu Caves? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Putrajaya to Batu Caves. However, there are services departing from Putrajaya & Cyberjaya station and arriving at Batu Caves station via KL Sentral station. The journey, including transfers, takes approximately 1h 2m.
Putrajaya to Batu Caves train services, operated by KLIA Express, depart from Putrajaya & Cyberjaya station.
Putrajaya to Batu Caves train services, operated by KTM Intercity, arrive at Batu Caves station.
The distance between Putrajaya and Batu Caves is 35.9 km. The road distance is 46 km.
Rapid KL operates a subway from Putrajaya Sentral to Kampung Batu every 10 minutes. Tickets cost RM 4–7 and the journey takes 48 min.