If you would like to travel from Kuala Lumpur to Bangkok by train or from Bangkok to KL by train, you will have to make at least one stop / change along the way, as there is no direct train service between Kuala Lumpur and Bangkok.
The best way to do it is to take a break along the way and either spend the night in Penang or Hat Yai (Penang should be your first choice as it has so much more things to do and see compared to Hat Yai).
Below you will find some of the best suggested routes to take the train from KL to Bangkok:
The most direct and quickest way to travel from KL to Bangkok by train is to take a morning ETS train from KL to Padang Besar.
You can then connect to the sleeper service from Padang Besar to Bangkok.
Another alternative way to travel on this route (which has a slightly cheaper train fares) is to take a Shuttle train from Padang Besar to Hat Yai, or cross the main land border and take a minivan or bus into Hat Yai.
You can break your journey in Hat Yai and a spend the night, or if everything runs on time you may be able to catch one of the more frequent overnight trains from Hat Yai to Bangkok.
Travelling from KL you can travel on the high-speed ETS Train from KL Sentral railway station to Butterworth, where you can then spend some time on Penang island, which is just a 15 minute ferry ride away from Butterworth railway station.
The next part of the journey is to take a KTM Komuuter train from Butterworth to Padang Besar to connect with the overnight sleeper service from Padang Besar to Bangkok.
If you want to travel in the other direction from Bangkok to Kuala Lumpur by train, the most direct route is to take the Bangkok to Padang Besar train, then an ETS train from Padang Besar to KL Sentral.
This is a long journey, so if you want to make a stop along the way, you can take one of the cheaper trains from Bangkok to Hat Yai.
You can then spend the night in Hat Yai and take a Shuttle train from Hat Yai to the Malaysian border at Padang Besar.
From Padang Besar you will then have a choice of ETS trains to KL Sentral (depending on when you decide to travel to the border).