How to get from Singapore to Kuala Lumpur by train

How to get from Singapore to Kuala Lumpur by train

Getting the train from Singapore to Kuala Lumpur used to be a straight-forward affair. The train would leave from Tanjong Pagar railway station (near downtown Singapore), clear immigration for both countries at Woodlands, and then continue on the same train to Kuala Lumpur. I did this journey in 2009 and it was a great way to travel overland.

In 2011 the service from Tanjong Pagar was discontinued and the train service then began at Woodlands, near the Singapore-Malaysia border. The railway corridor from Tanjong Pagar to Woodlands has since been turned into a park so it’s unlikely that this line will ever be restored.

Then in 2015 the Woodlands-KL service was discontinued, and a shuttle train from Woodlands to Johor Bahru was introduced.

Also in 2015 the ETS (Electric Train Service) began operations from Kuala Lumpur to Gemas (which is about half way to Johor Bahru). With only half of the way electrified, you need to change at Gemas for a diesel train service to Johor Bahru.

So now the journey from Singapore to KL takes three separate Malaysian Railways services, plus a ride on the Singapore Metro. It’s hardly convenient, it’s slower than the bus, and it’s not always cheaper than flying. Having said that, getting the train is still a good way to travel if you have the time.

With the direct service broken up you need to book tickets individually as the train booking sites don’t book the multiple sections on one ticket. This post lists exactly what trains to book, and also a review of what to expect. I’ve also noted what train services will operate in the future.

Old JB station
[The old Johor Bahru Station.]

Trains to book for Singapore-Kuala Lumpur / Kuala Lumpur-Singapore

There is one combination per day in each direction that will enable you to make this trip.

Tickets for each segment need to be booked individually, so it’s best to open a browser tab for each segment to make sure there is a seat available on every segment first before committing to a single ticket.

Singapore to Kuala Lumpur

Beginning your journey in Singapore you should be at Woodlands by 8am so you can clear immigration for both countries.

Station Depart Station Arrive Service Tickets
Woodlands 8:30 Johor Bahru (JB Sentral) 8:35 ST70 Book Online
Johor Bahru (JB Sentral) 8.45 Gemas 13.42 ES40 Book Online
Gemas 15:10 KL Sentral 17:34 EG9322 Book Online

[Edit: The JB to Gemas train has since been rescheduled from 9.15 to 8.45, which gives you 10 minutes to connect from the Woodlands-JB train. As you clear customs at Woodlands, this should be ok but I haven’t tried it myself.]

Kuala Lumpur to Singapore

Southbound there are 2 trains from KL to Gemas, and 4 trains from Gemas to JB. And once again there is only one sensible connection every day. There is a train that gets to Gemas at 2.40AM with 2 hours to wait until the next train, but you do not want to be waiting at Gemas for 2 hours in the middle of the night.

Station Depart Station Arrive Service Tickets
KL Sentral 12:08 Gemas 14:38 EG9321 Book Online
Gemas 16:35 Johor Bahru (JB Sentral) 20:20 ES41 Book Online
Johor Bahru (JB Sentral) 21:20 Woodlands 21:25 ST91 Book Online

From Woodlands you then need to get to Marsiling MRT. It’s a late night but you will have enough time to get the metro to central Singapore.

If you’re not in a hurry (you probably aren’t seeing you are taking the slowest transport method), you could break the trip in Johor Bahru. Spend the night there and have a look around for half a day before continuing on to Singapore. There’s a lot going on in JB, and it’s a good alternative if you don’t like arriving in a new city late at night. Look for hotels near JB Sentral Railway Station.

Train Travel Review: Singapore to Kuala Lumpur

Singapore Metro to Woodlands

Marsiling MRT

In keeping with the spirit of this trip of travelling by rail I’ve included the metro as part of the journey. There is a Woodlands metro station, but Marsiling MRT is closer to the Woodlands train station. From Marsiling it’s a 20-minute walk, or you can get the bus from the MRT station. Use the Singapore MRT journey planner to work out how to get there from where you are staying in Singapore.

Walk to Woodlands

Woodlands to Johor Bahru Shuttle

JB Sentral rail lines

For this section I didn’t get to review for myself. I figured I would just turn up and get onboard like you would a metro service. After all it’s only a 5 minute ride. It turns out that this service uses the same long distance trains used in Malaysia, and reserving a seat is required. This service is popular as getting through immigration is much quicker than by using the shuttle bus. With the shuttle train you clear immigration for both countries on the same side, and it’s a small queue.

Border-crossing buses

I ended up having to catch the bus instead of the train, and it was a nightmare. It took 90 minutes to pass through immigration on the Malaysia side. I’ve since been told that 2 hours is not uncommon. The shuttle train is popular with daily commuters who book tickets in advance, so it’s unlikely you could just turn up and expect a ticket.

Shuttle availability

For this guide I have listed the best train time to book in combination for onward travel.

Johor Bahru – Gemas

Train at JB

The train from Johor Bahru to Gemas is on the long distance diesel-engine trains. The seats are comfortable and the carriages are air-conditioned. I always wear jeans as the air-conditioning can be too cold.

JB to Gemas seats

There are power outlets next to the seat, though mine wasn’t working on the day I went.

Power outlet

There are toilets onboard, with a choice of squat or seated toilets.

Squat or Sit

Not all the sitting toilets have a seat.

Sitting toilet

But I’m not a good squatter and I don’t like my chances of aiming straight on a rocking train.

Squat toilet

There was a roaming snack cart in lieu of a dining carriage.

Snack cart

Sadly most of the view is of palm oil plantations.

Palm oil plantations

The train at Gemas station.

Diesel train at Gemas


At Gemas there’s a wait of 1 hour and 40 minutes until the next train. This is plenty of time to walk into Gemas and have lunch. The station is right in the town so there is no need for a taxi.

Gemas Station

There’s not much to do in Gemas so there isn’t any need to make this an overnight stopover.


Next to the modern station is the old Gemas Station where you can still see some old signs and the ticketing office.

Old Gemas Station

Gemas – Kuala Lumpur

If you didn’t go for lunch you can wait in the waiting room until the next train.

Waiting at Gemas

The Gemas to Kuala Lumpur section is on the ETS (Electric Train Service).

ETS at Gemas

The seats are comfortable, though not as thick as the old diesel train seats. The air-conditioning is set to chilled.

ETS seats

There are power outlets under the seat.

Power outlets

A meal tray with embedded safety procedures like an airline.

Safety procedures

Also like an airline are the modern toilets that vacuum flush and don’t empty out on the tracks. There’s also a bum gun, proving that train travel is the most civilised way to travel.

Modern toilet

There are no squat toilets on this train, and a common site in modern Asia are shoe marks on the toilet seat.

Squat marks

The electric train service goes all the way to Padang Besar on the Malaysia-Thailand border.

Padang Besar to JB Sentral

This train goes to Butterworth, which is the station for the Penang ferry. I have caught the train from Penang to KL, which is the best way to travel between the two.

Travel information

The ETS has a cafe carriage where you can get drinks and snacks.


Inside the bright and modern carriage of the ETS.


The train arrived on time at KL Sentral, where you can connect to metro services.

The Future of the shuttle train

Johor Bahru is practically a suburb of Singapore, with thousands of people making the commute every day. To accommodate the workers who live in JB, the Singapore Metro (MRT) will be extended across the border.

The Johor Bahru-Singapore Rapid Transit System Link (RTS) will connect Bukit Chagar station (near JB Sentral train station) to Woodlands North in Singapore. This is a separate station to the current Woodlands terminal, and it will be connected to the future Thomson-East Coast MRT Line (TEL). It’s expected to be open by December 31, 2024.

Within six months after the RTS begins operation, the Woodlands – JB shuttle will cease to operate.

The Future of the ETS

The ETS is being extended south and is expected to be finished by 2022. That will mean you can then get a direct train from Johor Bahru to Kuala Lumpur without changing trains in Gemas. That will then make the trip quicker and more convenient than getting the bus.

Future Singapore – Kuala Lumpur High-speed Railway

In addition to the KL-JB line being electrified, there is also a plan to build a high-speed railway from Singapore to KL via the west coast. This would see a new station being built at Jurong East in Singapore and crossing the strait near the second link bridge, bypassing JB altogether.

This was on the brink of beginning construction in 2018, then with the new government being elected the plan was put on hold while the cost was investigated. It has been postponed until 2022, but may end up not being built which would be a shame. Out of all of the proposed railways of Southeast Asia, the Singapore-KL route is perfect for a high-speed railway. It is already one of the worlds busiest air routes, and it’s the right distance to make a fast train a viable alternative to flying. Read more about the railways of Southeast Asia.

Bus from Singapore to Kuala Lumpur

If you’ve read all this and it all sounds too complicated, then book one of the many direct bus services from Singapore to Kuala Lumpur.

Join The Newsletter

Sign up to the weekly newsletter for the latest posts, and a roundup of best travel reads, news, and lifestyle articles.


  1. If you want to save money, take the overnight bus e.g. 2200 hrs depart golden mile. Here you also save on the hotel for that night, arrive in KL early in the morning

  2. It’s a real shame they have put the station on hold in East Singapore. I have done the KL – Sin route quite a bit over the years and would certainly take the train over flying any day, but not until it’s more straight forward.

    I’d also hope there to be immigration at both ends, similar to the Channel Tunnel, or least at one end. Not sure how easy this would be in practice.

  3. Thanks sooo much for this very honest post. I WAS planning on doing this on my next visit but as a tourist with limited time I am going to pass on this

  4. Thanks!

  5. Thank you James Clark, this is an extremely useful post. I was thinking of taking the train from SG-KL over a 3 day break, but have now decided against it as it’s too time consuming and cumbersome. Your post helped provide a detailed insight and a direct train from SG-KL (like in the past) would’ve been a great alternative than a coach ride or flying.

    The HSR between SG-MY would’ve been a great addition to improve connectivity between the two close neighbours, but cost has to be considered so that it does not burden tax payers. It must also be more efficient than flying.

  6. Interesting post, thanks!

    Looking online now though, it seems the JB to Gemas train departs at 8.45am, meaning its impossible to do Woodlands-KL in a single day.

    Such a shame.

    • Hi Pete,

      thanks for letting me know of the timetable change, I’ve now updated it. As the Woodlands train arrives at JB at 8.35 you should still be able to make the 8.45. Customs is cleared at Woodlands so you should just be able to cross platforms. It’s a tight connection, but I would assume the 5 minute Woodlands-JB service doesn’t suffer from delays.

  7. Celinda Canny says

    Thnks !

Speak Your Mind