How to Get from Johor to Kuala Lumpur
Compare flights, buses and the ETS train from Johor to Kuala Lumpur. Flights take about 50 minutes and bus fares start at RM37.
Last updated: October 31, 2026

Photo: CEphoto, Uwe Aranas / Wikimedia Commons, CC BY-SA 3.0
Contents
Johor is where the peninsula ends and Singapore begins, and the links from here to Kuala Lumpur are among the busiest in Malaysia. Fly from Senai in under an hour, ride an express coach north from Batu Pahat or Mersing, or take the ETS train from Kluang. Whichever you choose, you swap palm-oil country and quiet harbour towns for the towers and street food of the capital.
Johor to Kuala Lumpur by Flight
AirAsia flies non-stop from Johor Bahru (JHB, Senai) to Kuala Lumpur International Airport (KUL) in about 50 minutes, with several departures between morning and late evening and fares from MYR 117.[1]
From KLIA the KLIA Ekspres runs to KL Sentral every 20 minutes. The ride takes 28 minutes from Terminal 1 (Terminal 2 is 3 minutes further), and a single ticket costs RM55.[2]
Johor to Kuala Lumpur by Bus
Express coaches are the backbone of travel in Malaysia: air-conditioned, with reclining seats, and far cheaper than flying. Bring a light jacket, because the air conditioning is strong.
Batu Pahat to Kuala Lumpur
S&S International Express sells tickets from Batu Pahat Bus Terminal on Jalan Rugayah to Kuala Lumpur from RM37.[3] Terminal Bersepadu Selatan (TBS), the southern bus terminal in Kuala Lumpur, is linked to KLIA Transit, KTM Komuter and the RapidKL LRT.[4]
Mersing to Kuala Lumpur
Mersing is the mainland port for Tioman, with ferries leaving from Mersing and Tanjung Gemok.[5] Bus fares between Mersing and TBS in Kuala Lumpur run from RM33 to RM41.50.[6]
Johor to Kuala Lumpur by Train
Kluang is on the KTM main line. ETS train EP9326 starts at JB Sentral at 09:55, leaves Kluang at 10:45 and arrives at KL Sentral at 14:10.[7]
Comparing Your Options
| Mode | Route | Details |
|---|---|---|
| Flight | Johor Bahru (JHB) to KUL | About 50 minutes, from MYR 117[1] |
| Train (ETS) | Kluang to KL Sentral | Departs 10:45, arrives 14:10[7] |
| Bus | Batu Pahat to Kuala Lumpur | From RM37[3] |
| Bus | Mersing to TBS, Kuala Lumpur | RM33 to RM41.50[6] |
Tips for Traveling from Johor to Kuala Lumpur
- Book in Advance: Friday afternoons and Sunday evenings are busy, when many people travel to and from the capital. Booking early on GoAsia.cc is wise at these times.
- Airport Transfers: From KLIA, the KLIA Ekspres is the fastest way into the city, and buses and ride-hailing apps are cheaper.
- Arriving at TBS: From TBS you can continue by LRT, KTM Komuter or KLIA Transit.
- Stay Warm: Buses and planes can be cold, so keep a sweater or scarf within reach.
- Arrival Times: Traffic into Kuala Lumpur is heavy at morning and evening rush hours, so allow extra time if you arrive by bus and have a connection or a reservation.
Timetable
| Flight Johor Bahru - Kuala Lumpur $ 21.31–53.87 50m – 1h | |
|
| Flight Johor Bahru - Selangor $ 36.76–131.81 1h 5m | |
|
| Bus Batu Pahat - Kuala Lumpur $ 5.64–6.44 3h 43m – 5h 45m | |
|
| Bus Kluang - Selangor $ 10.54 7h 14m | |
|
| Bus Kluang - Kuala Lumpur $ 5.93–6.98 3h 36m – 6h 24m | |
|
| Bus Mersing - Kuala Lumpur $ 10.54 5h | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Johor to Kuala Lumpur, including current prices and schedules.
The express bus is the cheapest option, with fares from RM37 from Batu Pahat and RM33 to RM41.50 from Mersing. Flights from Johor Bahru start at MYR 117.
The fastest way is to fly from Johor Bahru (Senai Airport) to Kuala Lumpur, a non-stop flight of about 50 minutes.
The flight takes about 50 minutes. By ETS train, Kluang to KL Sentral takes 3 hours 25 minutes on the 10:45 departure. Bus times depend on your starting town and the traffic.
AirAsia's non-stop flights from Johor Bahru land at Kuala Lumpur International Airport (KUL). From there the KLIA Ekspres takes you to KL Sentral.
Many express coaches from southern Malaysia use Terminal Bersepadu Selatan (TBS), which connects to the LRT, KTM Komuter and KLIA Transit. Check your ticket for the exact drop-off point.
You can often buy a ticket at the terminal, but booking ahead is wise for weekends and public holidays, when popular departures can sell out.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] AirAsia: Cheap flights from Johor Bahru to Kuala Lumpur. Retrieved October 20, 2026.
- [2] KLIA Ekspres (Express Rail Link): KLIA Ekspres: journey time, fares, counters. Retrieved October 21, 2026.
- [3] S&S International Express: Batu Pahat Bus Terminal Guide. Retrieved October 27, 2026.
- [4] Causeway Link: Terminal Bersepadu Selatan (TBS) Bus Station. Retrieved October 26, 2026.
- [5] Cataferry: Cataferry: ferry tickets to Tioman and Langkawi (Mersing, Tanjung Gemok). Retrieved October 19, 2026.
- [6] Terminal Bersepadu Selatan (TBS-BTS): Southern Destinations. Retrieved October 17, 2026.
- [7] KTMB: ETS Service Timetable, effective 1 June 2026. Retrieved October 17, 2026.
Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.