Nostalgia makes you do funny things. For me, it’s the constant checking for the resumption of direct train services between Johor Bahru’s JB Sentral and Kuala Lumpur’s KL Sentral station.
The genesis goes back to 2010 with the launch of the Electric Train Service (ETS). The inaugural link was between KL and Ipoh, after which services expanded to cities and towns in North Malaysia including Butterworth and Padang Besar, and then down south to Gemas in 2015.
It was only in early 2025 that services were extended further south to Segamat and Kluang in the state of Johor, but even then it was still quite a hassle for Singaporeans to get to KL by train.

But with the completion of the Electrified Double Tracking Project (EDTP) between Kluang, a town in Johor, and JB Sentral station, direct train travel is once again possible between Malaysia’s two largest cities.
I recently completed the journey, and wanted to share more about the experience.
| 🚆 JB/KL Electric Train Service (ETS) |
Singapore-Malaysia train links: A brief history
Not too long ago, Singapore had a direct rail connection to Malaysia. This was operated by Malaysia’s national railway operator, Keretapi Tanah Melayu Berhad (KTMB) via its KTM Intercity service.
The service operated from Singapore’s Tanjong Pagar Railway Station (yes, for all you younglings, Singapore did have a proper train station) into Malaysia and went as far as Butterworth in Penang and Tumpat in Kelantan before services to Tanjong Pagar Railway Station concluded on 30 June 2011.


For decades, the KTM Intercity service between Tanjong Pagar and Kuala Lumpur served as one of the various transport routes between Peninsular Malaysia and Singapore, and was even the preferred choice of travel for families who had relatives on both sides of the causeway. It was affordable, linked up many secondary towns and cities in Malaysia, and more importantly, allowed for screaming children running around the train carriages.

After services to Tanjong Pagar ended on 30 June 2011, it was still possible to travel by train from Singapore up north via Woodlands Train Checkpoint. Sadly, this ceased in 2015 when the Shuttle Tebrau services were introduced after a decision by KTMB to only run their intercity trains up to JB Sentral.

Back then, there was still a glimmer of hope for us in Singapore wanting to experience long distance train travel with the High-Speed Rail project that was supposed to run between Kuala Lumpur in Malaysia and Jurong East in Singapore. The Covid-19 pandemic happened, amongst many other things, and the entire project was eventually cancelled after both governments failed to reach an agreement on a new proposal from Malaysia. Malaysia eventually compensated Singapore a whopping ~S$100 million for the cost already incurred for the project.

Train travel up the Malaysian peninsula is still possible in recent times, albeit at a very time-consuming journey of almost 7 hours from JB Sentral to KL Sentral. This involves a change of trains at Gemas to connect from the slower diesel KTM Intercity trains to the newer Electric Train Service (ETS) trains up north while KTMB and the Malaysian government worked on the Gemas – Johor Bahru electrified double-track rail project. This was a project started way back in 2017 and was scheduled to be completed in 2021 if not for the pandemic and other delays.
There technically still exists a way to travel by train from Singapore’s Woodlands Train Checkpoint all the way up to Butterworth without needing to change at JB Sentral…if you’re willing to part with US$12,000 to spend 3-nights onboard the fabled Eastern & Oriental Express by Belmond.

Details: ETS between JB Sentral and KL Sentral

The ETS service between JB Sentral and KL Sentral commenced operations on 12 December 2025, as a double daily service in both directions.
Till 1 January 2026

From 1 January 2026

For context, the ETS offers four levels of service:
- Silver
- Gold
- Platinum
- Express
The higher the tier, the fewer the stops and the higher the cost. Only the Platinum and Express services feature a Business Class car.
The new link between JB Sentral and KL Sentral will be operated as a Platinum service, using the brand new KTM Class 94 Electric Multiple Unit (EMU) 6-car train set manufactured by CRRC Zhuzhou Locomotive delivered in August 2025. These are also known as the ETS3, KTMB’s newest rolling stock of ETS trains. While they can travel as fast as the speeds that were promised with the HSR (160 km/h), they’ll be throttled to operate at 140 km/h instead.
Of the six cars, one is a Business Class car, and the other five are Standard Class.
Stops
On the JB Sentral – KL Sentral route, the ETS service will stop at the following stations:
- JB Sentral
- Kempas Baru
- Kulai
- Layang-Layang
- Rengam
- Kluang
- Paloh
- Bekok
- Labis
- Segamat
- Gemas
- Batang Melaka
- Pulau Sebang/Tampin
- Seremban
- Kajang
- Bandar Tasik Selatan
- KL Sentral
Price
One-way tickets from JB Sentral to KL Sentral start from MYR80 in Standard Class, and MYR150 in Business Class from JB Sentral to KL Sentral in both directions. Prices fluctuate a little and seem to cost up to a maximum of MYR87 in Standard Class and around MYR160 in Business Class.

Technically, you can also take the slightly cheaper ETS Gold service that heads to Padang Besar even if your final destination is KL Sentral or stations in-between (e.g. Seremban). However, these do not feature a Business Class car and it’s a full Standard Class affair and should be operated with the older ETS1 trains.
For the ETS Platinum service with the ETS3 train sets, in the Business Class car you’ll have 36 seats available laid out in a 1-2 configuration. While in Standard Class you have 60 seats in each car laid out in a 2-2 configuration.
Booking tickets
To book your ETS tickets with KTMB, you can either:
- Use the KTMB KITS Ticketing website
- KITS Style app
An account with KYC verification completed is required to even look at the seats available.
For this trip, I personally used the KITS Mobile Ticketing app that has been replaced by KTMB in favour of the new KITS Style app that isn’t getting rave reviews on the Play Store. I personally recommend booking your tickets through the KTMB KITS website as that’s much easier.
You can choose the specific seats to sit in when booking your tickets, and it even shows you if your neighbour is male or female.


After selecting your seats, you can make payment through a variety of methods including by card or the Touch ‘n Go e-Wallet.

Train ticket purchases on the app and website code as MCC 4111 (“Transportation – Suburban and Local Commuter Passenger, including Ferries) and are charged in Malaysian Ringgit (MYR) and processed in Malaysia, so you’d want to use a card like the UOB Visa Signature, DBS Woman’s World Card for 4mpd or the UOB Lady’s Card if you’ve selected Transport as a category. Alternatively, the UOB PRIVI Miles card is a good next best alternative for 3mpd on your MYR purchases.
As I’d be travelling the full length of the journey from JB Sentral to KL Sentral, I decided to splurge a little and give myself a treat and got a Business Class seat for MYR155.
Business Class passengers will be served a complimentary hot meal in the form of a bento box served to your seat, a bottle of water, and a small snack box for your journey. A snack service is also included mid-journey if you’re doing the service from JB Sentral to KL Sentral.
Getting to JB Sentral
I headed over to Woodlands Checkpoint bright and early to cater extra time in case of any unforeseen jams at the checkpoints. However, I ended up entering Johor Bahru a bit too early, with almost an hour before the scheduled departure time.
If you’re taking the bus into JB, simply follow the signs towards JB Sentral once you’ve cleared immigration to make your way over to the KTMB Station that is in the JB Sentral building itself. If you’re arriving by the Shuttle Tebrau, the exit will bring you straight into the departure hall of JB Sentral station.

KTMB’s ETS and Intercity train services depart from departure hall B as departure hall A is used exclusively for Shuttle Tebrau services between Woodlands and JB Sentral. There are signs indicating the waiting area for each train service.


It’s nice to see that KTMB has set up a dedicated seating area for ETS Business Class passengers. Rightly so in my opinion, given that Business Class ticket holders are paying almost double that of Standard Class. Enforcement was done with the KTMB staff politely asking non-Business Class ticket holders to vacate the area.
If you’re expecting a lounge, there sadly isn’t one in JB Sentral, although if you’re taking the ETS from KL Sentral in Business Class, you can make use of the Ruby Lounge just above the departure gates in KL Sentral. Although based on pictures and YouTube videos, it’s pretty much a waiting room with some beverages on offer (read: water and Nescafe machine).
Just past 8.00am ahead of the scheduled departure time of 8.40am, Business Class passengers were invited to board first and I leaped up from my seat and down the stairs to the train to snap some photos. The staircase leading down to the platform will lead you to Car B/C, and it’s a short walk over to Car A located at the tail-end of the train for Business Class.


Standard Class

I quickly ran into Car B first to take some shots of Standard Class. Honestly, if you’re travelling as a couple, this will do the trick. Seats are laid out in a 2-2 configuration, but they’re are not as tight as you think. That said, you will have nearly double the passengers in the carriage with you at 60 vs just 35 in Business Class.


All seats have a footrest that folds down from the seat in front, and individual power sockets and USB-A charging ports located just by the footrest. The tray table folds down from the seat in front of you. The arm rest can also be lifted up to create a “sofa” if you happen to luck out and have two seats to yourself. A hook is also installed in the seatback that can hold items up to 5kg.

Luggage racks can be found in each carriage although limited space is available, so if you’re travelling with luggage I do recommend boarding once Standard Class is called. The overhead luggage shelves can comfortably fit a cabin-sized bag so if you’re travelling light I wouldn’t be too worried.

Toilets can be found at the end of each train car as well and have a handheld bidet.
There are a handful of “quad” seats found in Cars B, C, and E where it’s a group of 4-seats face each other with a fixed table between them. I didn’t manage to snap a clear photo of it but did so through the train windows once we were at KL Sentral.

Business Class
Business Class on the ETS is always in Car A, and depending on the direction of travel, is either the first or the last car of the train.

Seats are laid out in a 1-2 configuration and there are 35 seats in Business Class. Each seat features decent recline and was covered in fabric. Legroom is also very generous.



I personally found the seat to be a bit too firm, but it didn’t seem to affect other passengers as much. There were even squeals of “Wah so nice”…guess I’m not at the age yet to appreciate firm cushioning.
A footrest and a UK power socket + USB-A charging port is also at each seat. Similar to Standard Class, a hook is found at every seat.


The left arm rest contained the in-train entertainment device and is a touch-sensitive display of approximately 10 inches, while the right arm rest contained a bi-fold tray table that weirdly is slightly smaller than what you can find in Standard Class.



The in-train entertainment device is internet-enabled, allowing you to browse the web albeit at slow speeds. You can access the web in the tile aptly named “Internet”. I suspect it’s linked by a 4G modem, which explains the sluggish speeds.


A “Live Location” tab is also available to track the progress of your journey, and it’s fairly accurate in displaying the remaining distance between stations.

No movies/TV shows are loaded but you do have Sudoku, Hill Climb Racing, Candy Crush Saga, and interestingly a Netflix app pre-loaded to the device. During the journey I did try to watch some Netflix but since we were basically cutting through the jungle, reception was rather weak and I could not get it to load.

The Food and Beverage function is meant to let you order extra meals from your seat but the application was not working throughout the journey. When queried by another passenger, the staff just shrugged and said it wasn’t working well.

Wi-Fi is supposedly a feature of the ETS trains but again, it was not working during the entire journey. Again this was met with a shrug when queried with the friendly train staff. Ah, Malaysia Boleh.
A very bright LED reading light can be found at the top of each seat in Business Class.

Luggage racks can also be found in Business Class and are located opposite the toilet at the very front of car A.



Thankfully when the luggage racks get full in Business Class, there is some extra space located behind the last row/first row of the Car depending on the direction of travel so you will be able to leave your bags here during your journey.

The other noticeable difference in Business Class vs Standard Class is that the overhead luggage storage is airline-style where it can be closed for better “security”. Although if your cabin sized luggage was not truly cabin sized i.e. the obscenely over expanded ones, you’ll struggle to fit it into the bins above as what I saw some passengers experiencing.


In both Business and Standard Class, window shades are at every window and they fully close. In Business Class however, it’s designed with the Business Class logo on it which is quite cute.

The Business Class toilet was no different from that in Standard Class, so if you were expecting Aesop/Molton Brown handwash…sorry to disappoint. A handheld bidet is present with surprisingly strong water pressure, so you’ll be sure to have a squeaky-clean bum. The top window can be opened for extra ventilation. Just remember to close it if you’re in the loo at stations!

I had booked seat 2A as oddly 1A was blocked out for booking. It does seem that KTMB has permanently blocked off 1A as throughout the schedule, I was unable to find a date where I could book 1A. KTMB does not have a loyalty program so I really have no clue what will allow you to choose seat 1A. Although during the journey I did observe the KTMB staff occupying that seat, so I guess that’s why it’s permanently blocked for passengers.
The journey
At 0840 on the dot, a toot of the horn was sounded as the train smoothly accelerated out of JB Sentral station.
I really like train travel as there’s just something relaxing about watching the scenery change as the train charged north. The ride was very smooth and aside from a few “turbulent” sections of track, it was generally a smooth ride from JB Sentral to KL Sentral.

As advertised, the fastest the train will be operated at is 140 km/h and the displays at the front of each car did show the live speed of the train averaging close to 140 km/h. These displays also show the availability status of the toilets which is handy.

Around 9.20am, breakfast service commenced. There was only one option available and for my trip it was a Mee Mamak bento box with some boiled vegetables and fried chicken bites.


The taste was forgettable and I strongly encourage you to bring your own food onboard for the journey from JB to KL.
A snack box is also given containing a juice pack, a packet of peanuts, and amusingly a set of earphones to be used with the in-train entertainment device or any device with a 3.5mm headphone jack.


The staff came back around to collect the rubbish around 30 minutes later which was more than sufficient time to finish the meal.
Feeling peckish still, I made my way over to the bistro that is in Car C of the ETS service. There was a long line by the time I went over so I joined the queue.

Limited hot food was available, and the choices were displayed on the screens above. Instant noodles were also available for purchase along with instant coffee and canned drinks. Hot drinks start from MYR3 with canned drinks at MYR4 which is actually decently priced. I didn’t manage to check how overpriced the cup noodles were, but the hot meals are priced at MYR12- MYR13 each.


The hot food available is essentially microwaved frozen ready meals although these sold like hotcakes. By the time I reached the front of the queue at around 10.30am, all the Nasi Lemak, Nasi Gorengs, and Nasi Ayams were sold out leaving only pasta with meatballs available. These didn’t look too appetizing, so I got myself 2 canned drinks and trotted back to my seat.

While queuing, I found a prayer room was available, located beside the accessible toilet in Car D of the ETS.


As the train left Gemas and chugged towards its next stop Batang Melaka (which is nowhere near Melaka city), a snack service commenced with hot coffee/tea on offer and a single muffin provided.

At this point of the journey, I was starting to freeze up. For those that remember the old KTMB InterCity services that ran from Tanjong Pagar, you’ll recall that KTMB loves to turn the air-conditioning all the way down. It was no different on the ETS service as the train cabin was kept at a chilly 17-19 degrees Celsius throughout the journey. I strongly recommend a jacket if you’re doing the trek from JB Sentral to KL Sentral.
Throughout the journey, the train was chugging along smoothly averaging speeds of 130 km/h – 140 km/h and we pulled into the town of Seremban just slightly behind schedule at 11.45am.

It got me wondering, the distance between Seremban and KL is just over 70km, why did KTMB schedule 1.5 hours for this leg? After the train left Seremban was where things slowed down, a lot.
The reason for that? KTMB’s Klang Valley Double Track Phase 2 project that’s been ongoing for several years now. In 2017, the then Transport Minister proudly announced that it would be completed by 2019…go figure.

As a result of the Double Track Electrification and Signalling upgrading works, it was basically a single-track line from Seremban up to Bandar Tasik Selatan. Construction works are still ongoing, and it does not look like it’s going to be completed anytime in the next 2 years even.
The result of this? Average speeds below 50km/h and delays as the train must stop at certain sections of the track since it’s only a single track from Seremban all the way up to Bandar Tasek Selatan. At one point we were stationary for almost 30 minutes just before Kajang station.
Even though this was already catered for in the schedule, it was still mildly annoying as if everything was running smoothly, we would have reached KL Sentral by 12.30pm even after leaving Seremban.


The train pulled into KL Sentral at 1.20pm, 20 minutes behind schedule which isn’t too bad. Make sure to have your ticket ready as you’ll need it again for the exit gantries at KL Sentral.
Conclusion
The relaunch of direct train services between JB Sentral and KL Sentral with the new ETS train service is something many have been waiting for. Tickets are almost sold out each weekend and on my journey it was full in all six cars.
You can get a bus ticket for slightly cheaper, but you’ll be at the mercy of traffic jams along the North-South Highway which are notoriously bad on most days. Flying may be faster by a little bit, but not by much once you factor in the extra time at the airport.
So I’d definitely recommend trying the new ETS train service between JB Sentral and KL Sentral. Prices are pretty much constant unlike airfares and also unlike the buses, it’ll be a jam-free journey.
When the RTS Link opens and the Klang Valley Double Track Phase 2 project is completed between Seremban and Bandar Tasik Selatan, it’ll be a much stronger recommendation for train travel between JB Sentral and KL Sentral. With the transfer between Singapore and JB being even more seamless and the ETS will be able to operate at its operating speed throughout the entire journey, this may very well be the better option of Singapore – KL travels going forward.







as a foreigner living in SG, having grown up with trains abroad and loving them in general. What is the (real) reason for not having a Singapore-KL direct train link despite having the infrastructure for that already?
money. it’s all about money.