It is possible to travel from Penang to the Cameron Highlands by train, part of the way, then take a bus for the final stretch up into the mountains.
Before considering to take the train for this, you should note that it is much easier to take a direct bus from either KOMTAR in George Town, Sungai Nibong Bus Terminal or Butterworth Bus Terminal.
To check fares and departures or to book bus tickets online :
The most direct route from Penang is to take a regular fast ETS Train from Butterworth to Ipoh.
From Ipoh Railway Station, you will than have to transfer to the the nearest bus terminal at Medan Kidd Bus Station (less than 10 minutes walk away - 600 metres)
Buses from Medan Kidd Bus Station to the Cameron Highlands depart four times a day at :
08:00, 11:00, 15:00, 18:00 (please check locally as these buses may now not be operating).
Another option is to go to the Aman Jaya Bus Terminal which is the new main bus terminal in Ipoh, located quite a long way out of the city centre (around 11km from the train station).
From here there are many more departure to CH.
To get to Aman Jaya you can take a local bus from the Medan Kidd Station or a taxi.
How much is a bus from Ipoh to the Cameron Highlands?
Around 20 MYR.
The trip should take about two, to two and a half hours and it is a distance of around 90 kms from Ipoh (slightly longer from Aman Jaya Bus Station).
The only other road that can take you from the west coast of Malaysia up to the Cameron Highlands is the old winding road from Tapah.
The scenery on this road is much nicer, but transport connections at Tapah Road Railway Station are not that easy to find.
If you really do want to travel this way (although we really do advise you not to), you can take an ETS Train from Butterworth to Tapah Road, then you will have to try to find a taxi driver to take you the 65 Kilometres to Tanah Rata or to connect to a KL to Tanah Rata bus at Tapah.