How to Get from Kuala Lumpur to Johor
Discover the best ways to travel from Kuala Lumpur to Johor. Buses to Johor Bahru cost RM30 to RM36, flights take about 50 minutes, private transfers start at about $158.
Last updated: October 30, 2026

Contents
Leaving Kuala Lumpur's skyscrapers for the south, you move from the capital's busy streets to Johor's mix of old towns, theme parks and coast. Whether you head for Johor Bahru to cross into Singapore or for Mersing and the boats to Tioman Island, this is one of the best-served corridors in Peninsular Malaysia. You can take a bus, fly or ride in a private car, and GoAsia.cc helps you compare them.
Kuala Lumpur to Johor by Bus
The bus is the most common way to go. Coaches leave from Terminal Bersepadu Selatan (TBS), a 24-hour hub with more than 150 destinations.[1] A pedestrian bridge links TBS to Bandar Tasik Selatan station, where KLIA Transit, LRT and KTM Komuter trains stop.[2] Fares at TBS are RM30 to RM36 to Johor Bahru (Larkin), RM33 to RM41.50 to Mersing and RM60 to RM98 to Singapore, depending on the operator.[3]
The journey to Johor Bahru takes from about 4 hours 15 minutes, and slower services up to about 8 hours 45 minutes. Express coaches leave through the day and night, with VIP 24 coaches from 09:00 to 23:29. Buses to Mersing take about 5 hours.[4] Allow extra time at the border if you continue to Singapore.
Kuala Lumpur to Johor by Flight
If time is short, fly. AirAsia flies non-stop between Kuala Lumpur and Johor Bahru in around 50 minutes, with several departures a day. Fares start at around MYR 117.[5] Flying also spares you the expressway traffic on public holidays.
Kuala Lumpur to Johor by Private Transfer
A private transfer picks you up at your hotel in Kuala Lumpur or Selangor and drops you at your address in Johor. It takes about 2 hours 50 minutes. On booking platforms, private transfers start at about $158 (October 2026), depending on the vehicle, and the cost per person falls with a full car.[4]
Comparing Your Options
| Mode | Price | Duration |
|---|---|---|
| Bus to Johor Bahru | RM30 to RM36[3] | 4h 15m to 8h 43m[4] |
| Flight | From about MYR 117[5] | About 50 min in the air[5] |
| Private Transfer | From about $158[4] | About 2h 50m[4] |
Tips for Traveling from Kuala Lumpur to Johor
- Avoid Holiday Weekends: The North-South Expressway can jam during Hari Raya and Chinese New Year. In those weeks the flight is the safer bet.
- Arrive Early at TBS: Allow time to find your gate in the large terminal.
- Keep it Cool: Malaysian coaches run their air conditioning hard. Bring a light jacket.
- Mersing Ferry Connections: If you are heading to Mersing for a boat, take an early bus and leave a time buffer.
- Luggage: Keep valuables in a small bag at your seat, not in the hold.
Timetable
| Flight Kuala Lumpur - Johor Bahru $ 14.95–73.92 50m – 23h 20m | |
|
|
| Bus Kuala Lumpur - Johor Bahru $ 7.39–15.03 4h 15m – 8h 43m | |
|
| Bus Kuala Lumpur - Singapore $ 15.03–27.94 4h 37m – 8h 54m | |
|
| Bus Kuala Lumpur - Johor $ 4.41–15.95 2h 39m – 8h 59m | |
|
|
| Taxi Kuala Lumpur - Johor $ 157.25–302.99 2h 51m – 2h 53m | |
|
| Bus Kuala Lumpur - Mersing $ 10.52 5h | |
|
| Taxi Selangor - Johor $ 157.25–302.99 2h 51m – 2h 53m | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Kuala Lumpur to Johor, including current prices and schedules.
The bus is usually the cheapest. At TBS, tickets to Johor Bahru (Larkin) cost RM30 to RM36 depending on the operator.
A flight is the fastest, with about 50 minutes in the air. A private transfer takes about 2 hours 50 minutes door to door.
Flights take about 50 minutes, private transfers about 2 hours 50 minutes, and buses from about 4 hours 15 minutes to Johor Bahru, depending on traffic.
Departures are frequent, but it pays to book ahead, especially for VIP seats and on weekends and holidays.
Buses to Johor leave from Terminal Bersepadu Selatan (TBS), which connects by a pedestrian bridge to Bandar Tasik Selatan station with LRT, KTM Komuter and KLIA Transit services.
The bus is cheaper and runs all day. Flying saves time, especially when you find a promotional fare.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] Terminal Bersepadu Selatan: Terminal Bersepadu Selatan. Retrieved October 30, 2026.
- [2] Terminal Bersepadu Selatan: Other Transports. Retrieved October 24, 2026.
- [3] Terminal Bersepadu Selatan: Southern destinations and price ranges. Retrieved October 26, 2026.
- [4] 12Go: 12Go Timetable Kuala Lumpur - Johor. Retrieved October 30, 2026.
- [5] AirAsia: Cheap flights from Johor Bahru to Kuala Lumpur. Retrieved October 20, 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.