There is no direct train from Singapore to Bangkok in Thailand and you will have to stop a few times along this route, but if you have time there are plenty of interesting places to spend a day or two along the way.
What follows is the shortest possible route between Singapore and Bangkok by train:
The first part of your journey from Singapore involves taking a five minute Shuttle Train from Woodlands railway station in Singapore across the border to JB Sentral Station in Johor Bahru, Malaysia.
For times and fares of the Shuttle Service from Singapore to Johor Bahru click here >
Once at JB Sentral, you will then have to take another Shuttle Train to Gemas (as currently the new electrified Railway Line between JB and Gemas is under construction - due for completion in around 2023 / 2024).
For times and fares for the JB to Gemas sector click here >
From Gemas station you can now join the new Electrified Railway Line and the new fast ETS Trains (Electric Trains Services).
There are a few trains a day that will take you all the way to Padang Besar, but if you don't want to get stuck at the border for the night, aim to arrive there during the daytime!
For times and fares from Gemas to Padang Besar click here >
From Padang Besar you can then connect to the Shuttle Train from Padang Besar to Hat Yai or you can wait a little longer and if there are still berths available, you can take the International Express all the way to Bangkok.
To make advance booking for the International Express Train click here >
From Hat Yai there are a number of overnight sleeper services a day to Bangkok.
For time and fares from Hat Yai to Bangkok click here >
You can do the same route as per above, but stop off in Kuala Lumpur for a day or two.
There is a choice of trains from Gemas to KL, as well as more services from KL to the border.
For times and fares from Gemas to KL click here >
For times and fares from KL to Padang Besar click here >
This way you take a train from Gemas to Butterworth.
Spend the night in Butterworth or Penang island.
Take a cheap Komuter train to the border at Padang Besar.
Continue on to Bangkok as per above.
Although we cannot really recommend you travel this way (due to the troubles in the South-East of Thailand), it is possible to travel by train from Singapore to Bangkok this way.
1) Take a train along the jungle railway to Kota Bharu (Wakaf Bharu) or Pasir Mas, then take a short bus ride to the border at Sungai Kolok.
2) From Sungai Kolok there are a number of daily departures up to Bangkok
For times and fares from Singapore to Kota Bharu click here >
From Sungai Kolok to Bangkok click here >
There are of course many places to stop along these routes up to Bangkok and you could easily spend a month or two (if you have the time), on this journey.
Some of the more well known places we would recommend stopping are:
There are also dozens of other smaller, less well known places of interest, as well as quiet beaches in Southern Thailand that you can get to on this trip by rail.
Find places to stay in on your trip to Bangkok >
Singapore to Thailand by Train >