
Bus
Cheap, direct, very frequent departures
Flight
Fastest, smooth journey, multiple airlines
Private car/taxi
Door-to-door, flexible timing
Train
Indirect route, multiple transfers needed
Quick answer: The main transport options from Johor Bahru to Kuala Lumpur are bus, train, or flight. The bus is the most popular and affordable option with frequent departures, the train offers a comfortable and scenic journey, and flights are the fastest but usually more expensive. Tickets to Kuala Lumpur from Johor Bahru can be booked online in advance for all options.
At a glance:
- 📍 Distance: approx. 330 km by road between Johor Bahru and Kuala Lumpur
- ⏱️ Travel time: Bus ~4–5 hours | Train ~5–6 hours | Flight ~1 hour
- 💰 Price range: Bus ~$8–15 per person | Train ~$15–40 per person | Flight ~$30–100 per person
- 🚍 Best for budget: Bus
- 🚆 Comfortable option: Train
- ✈️ Fastest option: Direct flight
Last updated in April 2026
From Johor Bahru to Kuala Lumpur you can travel by bus, train, flight, or taxi
The distance from Johor Bahru to Kuala Lumpur is about 350 km. You can travel by tourist bus, KTM train with a transfer in Gemas, direct flight, or private taxi. Direct flights from Senai Airport are the fastest option and take about 1 hour.
The cheapest way to travel is by bus, with tickets from $6–10 per person. Bus journeys take about 4.5–8.5 hours, while train travel requires a transfer in Gemas. Book bus, train, or flight tickets online in advance for the best prices.
Kuala Lumpur is Malaysia’s capital and the country’s main transport hub. From there, you can continue to Penang (via Butterworth), or visit Ipoh and Genting Highlands.
| Transfer Mode – Johor Bahru to Kuala Lumpur: | Travel Time | Cost Range |
|---|---|---|
| Tourist Bus | 4.5–8.5 hours | $6–13/pp |
| KTM Train (via Gemas) | 8–10 hours | $12–25/pp |
| Direct Flight | 1 hour | $20–100/pp |
| Private car with a driver | 3.5 hours | $160–350/car |
How do I get from Johor Bahru to Kuala Lumpur?
1. BUS from Johor Bahru to Kuala Lumpur
👉 Bus travel is a cheap and widely available way to get from Johor Bahru to Kuala Lumpur.
- ✔️ Good for: budget travelers and those looking for frequent connections
- ✔️ Duration: ~4.5–8.5 hours
- ✔️ Price: about $6–13 per person
- ✔️ Comfort: medium (modern buses with standard seating)
- ✅ Best option: Choose operators like KKKL Express, Super Nice Express or Sri Maju Group
- 💡 Tip: Book tickets online in advance and check departure/arrival points carefully before travel.
Traveling by bus is the cheapest way to get from Johor Bahru to Kuala Lumpur. Companies such as Billion Stars, KKKL Express, Super Nice Express, Sri Maju Group, Mayang Sari, and others operate frequent daily services.
Most buses depart from Larkin Bus Terminal and arrive at TBS Kuala Lumpur, the city’s main bus terminal. Some services also stop at other locations in Kuala Lumpur.
BOOK BUS TICKETS with 12go.asia ➜
The journey takes about 4.5–8.5 hours, depending on traffic and the operator. Bus tickets cost about $6–13 per person and can be booked online in advance.
Bus travel is the best budget option between Johor Bahru and Kuala Lumpur. Always check the latest departure details and ticket conditions before traveling.
| Bus Company | Departs in Johor Bahru | Arrival in Kuala Lumpur | Bus Ticket |
|---|---|---|---|
| Mayang Sari | 07:00 | 11:27 | From $8.00 |
| Mayang Sari | 07:30 | 11:57 | From $8.00 |
| Mayang Sari | 09:00 | 13:27 | From $8.00 |
| Mayang Sari | 09:30 | 13:57 | From $8.00 |
| Mayang Sari | 10:00 | 14:27 | From $8.00 |
| Mayang Sari | 10:30 | 14:57 | From $8.00 |
| Mayang Sari | 11:30 | 15:57 | From $8.00 |
| Mayang Sari | 12:00 | 16:27 | From $8.00 |
| La Holidays | 07:15 | 11:42 | From $9.00 |
| La Holidays | 09:00 | 13:27 | From $9.00 |
| La Holidays | 10:00 | 14:27 | From $9.00 |
| La Holidays | 11:00 | 15:27 | From $9.00 |
| La Holidays | 12:00 | 16:27 | From $9.00 |
| Yellow Star | 07:30 | 11:57 | From $9.00 |
| Yellow Star | 08:00 | 12:27 | From $9.00 |
| Yellow Star | 10:15 | 14:42 | From $9.00 |
| StarMart Express | 10:00 | 14:20 | From $9.00 |
| StarMart Express | 11:30 | 16:00 | From $9.00 |
| StarMart Express | 14:00 | 18:20 | From $9.00 |
| StarMart Express | 16:30 | 21:00 | From $9.00 |
| StarMart Express | 19:30 | 00:00 | From $9.00 |
| StarMart Express | 22:00 | 02:20 | From $9.00 |
| KKKL Express | 08:00 | 12:27 | From $9.00 |
| KKKL Express | 09:00 | 13:27 | From $9.00 |
| KKKL Express | 10:00 | 14:27 | From $9.00 |
| KKKL Express | 11:00 | 15:27 | From $9.00 |
| Causeway Link | 07:45 | 11:45 | From $10.00 |
| Causeway Link | 09:00 | 13:00 | From $10.00 |
| Causeway Link | 11:30 | 15:30 | From $10.00 |
| Causeway Link | 14:30 | 18:30 | From $10.00 |
| Causeway Link | 15:30 | 19:30 | From $10.00 |
| Causeway Link | 19:30 | 23:30 | From $10.00 |
| Causeway Link | 21:30 | 01:00 | From $10.00 |
| Billion Star | 08:00 | 12:27 | From $8.00 |
| Billion Star | 08:15 | 12:42 | From $8.00 |
| Billion Star | 08:30 | 12:57 | From $8.00 |
| Billion Star | 09:00 | 13:27 | From $8.00 |
| Billion Star | 09:45 | 14:12 | From $8.00 |
| Billion Star | 10:00 | 14:27 | From $8.00 |
| Billion Star | 10:30 | 14:57 | From $8.00 |
| Billion Star | 11:00 | 15:27 | From $8.00 |
| Billion Star | 11:30 | 15:57 | From $8.00 |
| Billion Star | 12:00 | 16:27 | From $8.00 |

2. TRAIN from Johor Bahru to Kuala Lumpur
👉 Train travel via Gemas is a comfortable but slower alternative from Johor Bahru to Kuala Lumpur.
- ✔️ Good for: travelers who prefer rail journeys over buses
- ✔️ Duration: ~8–10 hours (with transfer in Gemas)
- ✔️ Price: about $12–25 per person
- ✔️ Comfort: medium to high (modern KTM trains with seating)
- ✅ Best option: Take a KTM Berhad train from JB Sentral to Gemas and connect to a train to KL Sentral
- 💡 Tip: Plan connections carefully in advance, as train schedules are limited and transfer times can vary.
You can also travel by KTM Berhad train from Johor Bahru to Kuala Lumpur, but the journey requires a transfer at Gemas. Modern trains offer comfortable seating throughout the trip.
Trains depart from JB Sentral or Kempas Baru and continue to KL Sentral via Gemas. You can also view the Malaysia Railway Map before your journey.
BOOK TRAIN TICKETS to Kuala Lumpur ➜
The total travel time is about 8–10 hours, depending on the transfer in Gemas. Check the latest train timetable, as schedules may change.
Train tickets cost about $12–25 per person and can be booked online in advance. Mobile e-tickets are accepted, making train travel a comfortable alternative to the bus.

3. FLIGHT from Johor Bahru to Kuala Lumpur
👉 Direct flights are the fastest and very convenient way to travel from Johor Bahru to Kuala Lumpur.
- ✔️ Good for: travelers who want to save time and prefer air travel
- ✔️ Total duration: ~4–5 hours (including airport transfers and waiting time)
- ✔️ Price: about $20–100 per person
- ✔️ Comfort: high (short flight with modern aircraft and frequent departures)
- ✅ Best option: Choose airlines like AirAsia or Firefly for the best value
- 💡 Tip: Book flights online in advance and check baggage limits and airport transfer options.
A direct flight is the fastest way to travel from Johor Bahru to Kuala Lumpur. Airlines such as AirAsia, Firefly, Malaysia Airlines, and Malindo Air operate frequent daily flights.
Flights usually cost $20–100 per person, with the cheapest Economy fares sometimes available for under $20. The flight takes about 1 hour.
Flights depart from Johor Bahru Senai International Airport and arrive at Kuala Lumpur International Airport or Sultan Abdul Aziz Shah Airport.
There are up to 15 direct flights daily. Including airport transfers and check-in, the total travel time is about 4–5 hours. Flights can be booked online in advance.

4. TAXI / CAR from Johor Bahru to Kuala Lumpur
👉 Private car or taxi with driver is a fast and very comfortable way to travel from Johor Bahru to Kuala Lumpur.
- ✔️ Good for: groups or travelers who want direct door-to-door service
- ✔️ Duration: ~3.5–4 hours
- ✔️ Price: about $160–350 per vehicle
- ✔️ Comfort: very high (private cars, SUVs or minivans with driver)
- ✅ Best option: Book with providers like Daytrip or Asian Overland Services
- 💡 Tip: Share the cost among passengers and choose flexible pickup and drop-off locations to save time.
A private car with a driver is the most comfortable transport option from Johor Bahru to Kuala Lumpur. Companies such as Daytrip, ZMT Enterprise, FQD Travel, and Asian Overland Services offer sedans, SUVs, and spacious minivans.
Private transfers take about 3.5 hours and include flexible pickup and drop-off locations. Minivans are a good choice for families or groups traveling together.
BOOK TAXI / CAR to Kuala Lumpur ➜
Prices range from $160–350 per vehicle, depending on the car type. Standard cars are the cheapest, while larger minivans cost more.
Private transfers can be booked online in advance and are ideal for travelers who value comfort, flexibility, and direct hotel-to-hotel service.
❓ FAQ + Tips – Travel from Johor Bahru to Kuala Lumpur
How to book tickets and flights from Johor Bahru to Kuala Lumpur?
Book bus, train, taxi, and flight tickets online at 12go.asia ➜ or Baolau ➜.
How long does it take to travel from Johor Bahru to Kuala Lumpur?
Bus: 4.5–8.5 hours. Train via Gemas: 8–10 hours. Flight: 1 hour. Private car: about 3.5 hours.
How much does it cost to travel from Johor Bahru to Kuala Lumpur?
Bus: $6–13. Train: $12–25. Flight: $20–100. Private car: $160–350 per vehicle.
What is the distance from Johor Bahru to Kuala Lumpur?
The distance is about 350 km by road or rail and about 300 km by air.
What is the best way to get from Johor Bahru to Kuala Lumpur?
A direct flight is the fastest option and low-cost fares are often available.
What is the cheapest way to travel from Johor Bahru to Kuala Lumpur?
The tourist bus is the cheapest option, with tickets starting at about $6 per person.
Is there a direct train from Johor Bahru to Kuala Lumpur?
No. KTM trains require a transfer in Gemas before continuing to Kuala Lumpur.
How do you get from Kuala Lumpur Airport to the city centre?
Take the KLIA Ekspres train to KL Sentral. The journey takes about 30 minutes.
Where can you travel from Kuala Lumpur?
Popular routes include Butterworth, Penang, Kota Bharu, and Langkawi.
How do you get from Kuala Lumpur to Cameron Highlands?
Travel by bus or private car to Cameron Highlands. The journey takes about 4–5 hours.
💡 Practical Travel Tips for Johor Bahru to Kuala Lumpur
Traveling from Johor Bahru to Kuala Lumpur covers about 350 km. You can travel by tourist bus, KTM train via Gemas, direct flight, or private car.
- Choose a Flight for Speed: Direct flights take only about 1 hour.
- Travel by Bus to Save Money: Bus tickets start at about $6 per person.
- Use the KTM Train: Train travel requires one transfer in Gemas.
- Book Early: The cheapest flights and best bus seats sell out quickly.
- Allow Extra Travel Time: Buses may be delayed by traffic, especially on weekends.
- Travel Light: Smaller luggage makes airport and station transfers easier.
Tip: Bus tickets, train tickets, flights, and private transfers from Johor Bahru to Kuala Lumpur can be searched and booked online in advance.
