Bangkok to Singapore by train is a journey I’ve done a few times in the last decade and last week did it again. If you love traveling by train then this is a must-do adventure if you’re visiting southeast Asia.
For this trip I stopped in less places along the way, but it it’s your first trip I’d suggest stopping for a few days in Hat Yai and Georgetown (Butterworth) as well.
One thing to note is that it’s not possible to buy just one train ticket for this journey. You’ll need to buy separate tickets for each train you take. This is not entirely easy to do, as some trains can be booked up a few days in advance. Just see the individual train journeys below for all the ticket information. You also can’t make the whole journey in one go so you’ll have an overnight stop somewhere along the way.
I took the following trains:
Bangkok to Padang Besar
Padang Besar to Kuala Lumpur
Kuala Lumpur to Gemas
Note: There’s no direct train from Kuala Lumpur to Johor Bahru. so you need to buy two separate tickets and change at Gemas.
Gemas to Johor Bahu
Johor Bahru to Singapore
I then took a bus from Woodlands train station to Woodlands MRT and then the MRT to Central Singapore where stayed at Parc Sovereign Hotel.
Bangkok To Padang Besar
The first leg of the journey is the longest, and involves taking the overnight train. It’s the No. 45 train that leaves Bangkok’s Hua Lamphong station at 15:10 and arrives at Padang Besar, on the border with Malaysia, at 08:53. Note that Malaysia time is one hour ahead of Thailand so it will be 09:53 in Malaysia. The 09:53 time shown on the ticket is Thailand time. It’s a distance of 990 km (615 miles). There is only one train per day.
Note: This train only has 2nd class sleeper carriages. If you’d prefer to travel 1st class or prefer a newer train, you can get the 14:45 from Bangkok to Hat Yai. You'[[ then need change there and get another train the short distance to Padang Besar. The actual train is around 12 carriages long, but only the first two go all the way to Padang Besar, The remainder of the train goes to Su-Ngai Kolok. The train splits into two at Hat Yai.
The tickets for this part of the journey are straightforward to buy if you’re already in Thailand. You can buy the tickets from any train station and also from many travel agents. Some travel agents will charge a booking fee, while others don’t. I always buy my train ticks from SI Travel on Pan Road in Silom. Walk up Pan Road from Silom Road and it’s located about 100 meters on the right. They don’t charge a booking fee, so you’ll only pay the actual ticket price.
For this leg of the journey I decided to get the air-conditioned 2nd class day and night coach. During the daytime there is normal seating, but then the guards come around and convert the seating into beds. I would have preferred the lower bed, but as they were fully booked for many days in advance I opted for the upper bed. I paid 870 baht for my ticket. The lower bed ticket costs 960 baht. Child prices are 690 baht and 780 baht, respectively.
Note that from 2021 or 2022, Bangkok’s main train station will move from Hua Lamphong to Bang Sue. Train times are likely to change slightly.
The Train & Journey
This is an old train but still in fairly good condition. Above you can see what the seats look like before the beds are made up.
At the end of the carriage there are two sinks that you can use to wash your hands or brush your teeth. It’s an open area so not private.
In the same area as the two sinks there is a very basic squat toilet. It’s not great.
The train has a restaurant car where you can order food and drinks. You can also order food from the steward that comes around just after leaving Bangkok. You can choose a time to have your food and it will be brought to your seat, where they set up a table.
Above you can see my meal. This cost 160 baht (just over $5). You can order breakfast at the same time as ordering dinner. After dinner someone came around to convert the seats into beds. This happens at around 18:00.
The menu has pictures of the food so you can see what you’re ordering. Prices are reasonable although not very cheap.
There’s only around three hours daylight so you won’t see much during your journey. Above you can see a typical view from the train. This was taken from the restaurant car, which had open windows. In the carriage I was in the windows weren’t very clean so it wasn’t possible to take any good photos from inside the carriage.
Sleep & Comfort Levels
I found it difficult to sleep on teh train, as the light were on the whole night. This is especially bad in the upper bed, as the lights are right next to them. The lights are so bright that it’s almost like daylight.
I would also not recommend getting the upper bed. The lower bed is almost double the size and looks way more comfortable. It also has a window next to the bed, which is great for the morning.
If I do this journey again I’ll likely get the new train from Bangkok to Hat Yai instead. I’d also probably book a 1st class cabin, as you can swith the lights off, not be disturbed and have a good night’s sleep.
Immigration at Padang Besar
Immigration at Padang Besar is very easy. When you get off the train just head to the Thai immigration section to get stamped out the country, then walk a few meters along the platform where you’ll see the Malaysian Immigration. It only took me around 5 minutes to get through both. This is much better than at airports.
Padang Besar Train Station
Once you’re through Malaysian Immigration you can head up the stairs, where you’ll find a cafe, a waiting area and a ticket office.
I bought my onward ticket to Kuala Lumpur online, but you can buy at the station if you prefer. I like to buy in advance, because last time we traveled from Butterworth to KL, the trains were fully booked for the next two days.
I had quite a long wait for my train so was glad of the cafe.
The station doesn’t have an ATM machine or money exchange office. You’ll have to venture into the town for both of those. However, a money changer came around our train just before it arrived at Padang Besar. The exchange rate was pretty good.
Note: Malaysia time is one hour ahead of Thailand. When booking your onward ticket, make sure you account for this.
Padang Besar to Kuala Lumpur
Once you arrive at Padang Besar station and have gone through the immigration checks I suggest heading straight to the ticket office to buy tickets for the next leg of your journey, unless you’ve already bought them in advance.
I bought my ticket in advance from the KTM website. Booking was easy and the ticket was in PDF format. You need to save this to your phone so that you can show it to the ticket collector.
The official website is ktmb.com.my. There are some other ticket sites, but they charge an admin fee and the booking is more than a little complex. I originally booked my ticket by mistake with one of these but had to cancel it. Only use the official site.
I paid 102 MYR for my ticket, which is around $25. The train is very modern, with comfortable seating and airplane style toilets. These are the cleanest toilets I’ve seen on a train in southeast Asia.
I booked a window seat, as I hoped to be able to take a few good photos. However, my seat was between windows, so my view was partially blocked. Another mistake I made was booking a seat that faced the back of the train. When you select the seat while booking there isn’t an information about which way the seats face. Some face forwards and some face backwards.
There is an excellent guide to this train, including the seat layout at https://www.kuaby.com/ktm-ets/#Seat_Layout_Map.
The aircon on the train was very cold indeed. I would suggest bringing a jacket with you. It was uncomfortably cold for much of the journey.
Apart from that the journey was pretty smooth and uneventful. The scenery was pretty awesome most of the way.
The train arrived on time in KL Sentral station.
I stayed three nights in Kuala Lumpur in an awesome short-stay condo. See Golden Homestay @ The Robertson, Kuala Lumpur Review for details.
Kuala Lumpur to Gemas
There isn’t a direct train from Kuala Lumpur to Johor Bahru so you need to buy a ticket to Gemas and then another from there to Johor Bahru. For this part of the journey I bought my tickets at the ticket office at KL Sentral station. The ticket to Gemas cost 31 MYR ($7.50) and the ticket from Gemas to JB Sentral was 21 MYR ($5.20). So both were reasonably priced.
The distance from KL Sentral to Gemas is around 120 km. I got the 11:59 train that arrived in Gemas at 14:17, so a journey time of 2 hours 18 minutes.
Above is a short video of KL Sentral station. Note that the intercity ticket office is near the main entrance at the top of the escalators. This is also where you gain access to the platforms.
Above you can see the ticket office at KL Sentral. Just out of view on the left is the Information Desk. You first need to go there to get a queue ticket. Then wait for your number to be called.
Note: You’ll need to show your passport in order to buy a ticket.
This was an ETS train that was identical to the one that goes from Padang Besar to KL Sentral.
Just like last time, it was pretty cold in this train, so it’s best to take a jacket with you.
There are TV screens in each carriage that show a film, as well as showing information about the journey, such as the next station, the time and the speed of the train. They were showing the same film as on the previous train a few days earlier, so I guess the films don’t change very often.
I didn’t notice on this on the previous train, but there is a power socket in the middle of each set of two seats. It’s under the seat and has a cover over it, so difficult to spot. But very handy for keeping your electronics charged.
The train goes through some very pleasant countryside, and above you can see a typical view from the train.
THis train at a small cafe in carriage C, but it didn’t sell hardly anything. I couldn’t even get a tea or coffee without sugar,
Gemas Train Station
There isn’t much at Gemas train station about from some seating to wait for your train. But it’s only a 2-3 minute walk to the town, and there’s a great convenience store on the first corner, so you can buy some fresh fruit, snacks, etc.
Gemas to JB Sentral (Johor Bahru)
See the KL Sentral to Gemas section above for ticket details. The distance from Gemas to Johor Bahru is around 179 km. I got the 15:20 train that arrived in Johor Bahtu at 20:02, so a journey time for 4 hours 42 minutes.
This was an older style train, but still in excellent condition with very comfortable seats. The train was less than half full, so you could change to a different seat if needed.
This was yet another quite cold train. Are all Malasian trains cold?
The train had a trolley service selling snacks and cold drinks, but no hot drinks.
Like the last train, the view was mostly countryside, with thousands upon thousands of plam trees planted along the route.
As the train didn’t arrive until quite late I decided to spend the night in Johor Bahru and get the train to Singapore the next day. I stayed at Citrus Hotel, which is a great place near the station. See my Citrus Hotel JB Review, which includes a video of the room and also a video showing how to get to the hotel from JB Sentral
Johor Bahru to Singapore Woodlands
The final leg of the train journey is also the shortest – it only takes under 4 minutes. You can buy tickets at JB Sentral Station, and I’d suggest you buy them as soon as you get off the train. Most trains are booked up weeks in advance and only 4 trains usually have tickets to buy on the day. These are the 11:30, 12:45, 14:00 and 15:15.
A ticket for this train is just 5 MYR (around $1.25). If you’re traveling in the other direction you should be aware that tickets aren’t usually available to buy on the day.If you know what day you’re going back you can buy your tickets in advance. You can get a bus but the queues ae pretty horrendous.
Above you can see a video of the entire journey, which is under four minutes.
Singapore Woodlands to Central Singapore
The final part of the journey can be taken by either bus or taxi. The bus is much cheaper and doesn’t take much lonnger than a taxi. The bus stop is only a few meters away from the exit of Woodlands station.
When getting buses in Singapore you need to have the exact change, so make sure you have plenty of coins ready. I used to head to the supermarket across the road to buy something and ask for enough change in coins, but the supermarket and other shops have been knocked down.
I managed to get change at the train ticket office, buy they were reluctant to give me any at first because they said they didn’t have much. There is a vending macjine that takes S$2 and S$5 notes, so if you have those with you, you can buy something and get change. Failing that I can only sugest you ask someone at the bus stop.
When you leave the train station turn right and walk ahead for about 20-30 meters. That’s where the bus stop is. Buses 178, 903, 911 and 913 got to Woodlands MRT station. The cost is S$1.70 and the journey takes around 10 minutes.
Once you’re at the MRT station you can buy tickets from the machone using coins. notes and credit cards. I was heading to Parc Sovereign Hotel near Rochor MRT and the ticket cost S$2.60. See Parc Sovereign Hotel Review for details of what trains to take to get there.
This was a fun journey to make and everything went quite smoothly. There were minor issues like cold trains and not having any coins for the bus, but that’s all part of the advanture.
I hope you’ve found this journey interesting and also find it useful if you make the journey yourself.
If you do make the journey then leave a comment below to let me know if this aricle helped or if you think anything is missing or has changed.
I stayed at Parc Sovereign Hotel in Singapore. Click the click to read my review, which includes a video of the hotel.