By now we have covered this Singapore to Thailand route a whole bunch of times, following various inland and coastal routes, on trains, planes and automobiles. But my favourite will forever be the rail routes, where recently (2022) we travelled the entire way from Singapore to Bangkok by train. A journey of near 2000km and 30-hours (not including transfers) with stops along the way at Johor Bahru (JB Sentral), Gemas Railway Station, Kuala Lumpur (KL Sentral) and the Thai border at Padang Besar. (A basic map outline here).
The route has changed slightly through the years, becoming trickier, which is mostly due to the introduction of electric train lines in Malaysia meaning routes through Malaysia have changed as well as the crossing into Thailand until the full implementation has been made. Otherwise, you’re transferring between both diesel and electric trains on the train journey from Singapore and Thailand.
At the same time, there isn’t exactly a direct Singapore to Bangkok train, or even a direct train from Singapore to Kuala Lumpur, because of the border crossing. Meaning there will be some stopping and changing along the way. But it’s still a fantastic journey, with some amazing stops along the way, which I will highlight in the various stages below, travelling from Singapore to Thailand by Train.
- Travel from Singapore to Johor Bahru: 1 hour
- Train from Johor Bahru to Kuala Lumpur: 7+ hours (via Gemas)
- Train from Kuala Lumpur to Thailand Border (Padang Besar): 6 hours
- Train from Thailand Border to Bangkok: 17 hours
I will also highlight some easy online bookings for each route and train from Singapore to Thailand (through 12go.Asia) as well as the better stopovers for tourists and travellers along the way. These include Kuala Lumpur, Penang (Butterworth) and Hat Yai.
But, to sum it up, the journey from Singapore to Bangkok by train can be done through 4 legs and in 2 days – when rushed.
Ideally there would be a direct train from Singapore to Kuala Lumpur train, however, given the border crossing at Johor Bahru, there will always be a stop with passport control/immigration at Woodlands Train Checkpoint.
But there is no direct Singapore Train to JB Sentral in Johor Bahru (JB Sentral map here) from the city centre either. As the nearest Singapore MRT station would be Kranji Station (map here) where buses (#170 or #178) or a taxi, take you to the Woodlands Train Checkpoint.
After a simple border crossing (involving a stamp in and out with most passports) you then need to buy a ticket for the shuttle bus from Woodlands Train Checkpoint to JB Sentral Station in Johor Bahru. The journey takes only 5-minutes.
Note, immigration and passport control can take longer during peak times and on our most recent crossing (2022) on a weekend we were waiting for 4-hours to be stamped in at Malaysia. This is because many Singaporeans cross the borders at the weekend for cheap nightlife in Johor Bahru. It’s best to choose your times before crossing.
Again, there is no direct Johor Bahru to Kuala Lumpur train. Instead there are two trains with a quick stopover and transfer at Gemas Railway Station. So first travelling from JB Sentral to Gemas (KTM Berhad train) takes in and around 4 hours (tickets online here).
From Gemas Railway Station, you then need a ticket for the train to KL Sentral in Kuala Lumpur (2.30 hours) (tickets online here). This completes the journey from JB to Kuala Lumpur by train, as well as the first leg of the journey from Singapore to Thailand by train.
I would forever recommend a stopover in Kuala Lumpur for those who have never visited, where it’s easy to reach the various tourist areas (KLCC/Bukit Bintang/Chinatown) by Monorail or LRT (Light Rail Transit) from the transit hub of KL Sentral (our Kuala Lumpur Guide here). The nearby Brickfields area (predominantly Indian/Mamak) is also great to poke around during some spare time (KL Sentral hotels here).
The trains from Kuala Lumpur to Thailand have become a lot more comfortable, efficient, and quicker since the introduction of ETS (Electric Train Service 2015). Where trains leaving KL Sentral to Padang Besar (at the Thai border) now take around 5hrs 30mins. There are two or three trains scheduled per day (up-to-date timetable and booking here).
However, both trains arrive after the daily train departure from the Thai border to Bangkok, meaning an overnight stay is necessary in either Padang Besar or ideally a stopover at Hat Yai junction (regular local trains travel between Padang Besar and Hat Yai Junction).
Otherwise it’s a relatively simple border crossing (with most western passports) stamping out of Malaysia, then stamping into Thailand with the completion of a quick arrival form. Here for a more comprehensive guide from Kuala Lumpur to Thailand. I personally prefer a stopover in Penang.
Stopover at Penang (Butterworth/Penang Sentral)
I would personally space out the journey with a night our two in Penang which is easy to reach from Butterworth Station (Kl Sentral to Butterworth here). From Butterworth station, it is an easy 5-minute walk to Penang Sentral and the ferry (now a faster shuttle boat) crossing to Penang Island. The crossing takes 20-minutes for the crossing to Penang (full route from shown in the video below).
For the onward journey from Penang Sentral (Butterworth) to Padang Besar at the Thai border (here’s a decent timetable) the Komuter trains travel relatively regularly (almost hourly) making it easy to reach the border in good time for onward travel and trains towards Bangkok.
However, the Malaysian Komuter trains do take longer (2-hrs) than the alternative ETS (1hr 30mins) and are a bit uncomfortable with subway-like seating. (Note, the ticket above shows my ETS train arriving to the Thai border at 15:15PM). Here for our quick guide to Penang.
There is just one daily train from Padang Besar to Bangkok, at least when writing this (full timetable here) and this leaves at around 17:00PM (or around an hour later from Hat Yai Junction). It then arrives when it arrives. As Thai travel times are notoriously unpredictable (I’ve had trains arriving more than 3-hours later than scheduled).
However, the journey is scheduled to take 17 hours, meaning an overnight train journey, arriving the following day at around 10:00AM. And there are 2 better options here, where first-class obviously works best, but more so when travelling as a couple, as they are double berth cabins.
Then there are the 2nd class sleeper berths, best for solo travellers, and I would infinitely recommend paying extra for the lower berths in 2nd class sleepers which have window views at night. (Note, both beds will be hidden away during daytime and replaced with seating).
Stopover at Hat Yai Junction
Hat Yai isn’t the most exciting of stopovers, but it is a convenient base in the south of Thailand for those failing to find onwards tickets, or those just needing a break (Hat Yai hotels here). The Bangkok route is rarely fully booked and it may be busier on the short distance from Padang Besar to Hat Yai with Malaysian holidaymakers and weekend breaks.
Otherwise Hat Yai is the major hub for travel in southern Thailand, with plenties of onward travel options including buses and minivans to all the southern coastlines and islands in Thailand (e.g. Koh Lipe). Then there’s a decent enough airport for cheap flights in Thailand (although it seems silly to get this far only to fly). Otherwise, most destinations are found further north on the train line including stops en route to Bangkok such as Hua Hin (tickets to Hua Hin here).