Timetable data last refreshed August 2026. Operators change schedules at short notice — always confirm when you book.
131 scheduled routes run from Selangor to Johor, operated by 20 coach companies. There are 378 departures a day, with fares from RM19.80.
- Departing from
- Selangor — 10 boarding points
- Arriving in
- Johor — 21 arrival points
- Operators
- 20 on this corridor
- Departures
- 378 a day
- Fares from
- RM19.80 one way
Book Selangor to Johor
Compare all 20 operators on this route with live seat availability.
Timetable and fares
Every scheduled service on this corridor is listed below, grouped by operator. Use the filter box to narrow a table to your boarding point, or click a column heading to sort by departure time or fare.
Please note: fares and timings are set by the operators and change at short notice. Everything here is a guide — reconfirm when you book.
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Kuala Selangor | Johor Bahru (JB Larkin Term.) | 10:50 AM10:25 PM | RM75.00 | 1+2 |
| Kuala Selangor | Tun Aminah | 10:25 PM | RM75.00 | 1+2 |
| Kuala Selangor | Tun Aminah Bus Terminal | 10:50 AM10:25 PM | RM75.00 | 1+2 |
| Kuala Selangor | Yong Peng Toll (Utara) | 10:25 PM | RM70.00 | 1+2 |
| Sabak Bernam | Johor Bahru (JB Larkin Term.) | 9:40 AM9:15 PM | RM75.00 | 1+2 |
| Sabak Bernam | Tun Aminah | 9:15 PM | RM75.00 | 1+2 |
| Sabak Bernam | Tun Aminah Bus Terminal | 9:40 AM9:15 PM | RM75.00 | 1+2 |
| Sabak Bernam | Yong Peng Toll (Utara) | 9:15 PM | RM70.00 | 1+2 |
| Sekinchan | Johor Bahru (JB Larkin Term.) | 10:10 AM9:45 PM | RM75.00 | 1+2 |
| Sekinchan | Tun Aminah | 9:45 PM | RM75.00 | 1+2 |
| Sekinchan | Tun Aminah Bus Terminal | 10:10 AM9:45 PM | RM75.00 | 1+2 |
| Sekinchan | Yong Peng Toll (Utara) | 9:45 PM | RM70.00 | 1+2 |
| Sungai Besar | Johor Bahru (JB Larkin Term.) | 9:50 AM9:30 PM | RM75.00 | 1+2 |
| Sungai Besar | Tun Aminah | 9:30 PM | RM75.00 | 1+2 |
| Sungai Besar | Tun Aminah Bus Terminal | 9:50 AM9:30 PM | RM75.00 | 1+2 |
| Sungai Besar | Yong Peng Toll (Utara) | 9:30 PM | RM70.00 | 1+2 |
| Tanjung Karang | Johor Bahru (JB Larkin Term.) | 10:30 AM10:05 PM | RM75.00 | 1+2 |
| Tanjung Karang | Tun Aminah | 10:05 PM | RM75.00 | 1+2 |
| Tanjung Karang | Tun Aminah Bus Terminal | 10:30 AM10:05 PM | RM75.00 | 1+2 |
| Tanjung Karang | Yong Peng Toll (Utara) | 10:05 PM | RM70.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 12:30 PM | RM52.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Kuala Selangor | Johor Bahru (JB Larkin Term.) | 10:30 PM | RM75.00 | 1+2 |
| Kuala Selangor | Skudai Parade | 10:30 PM | RM75.00 | 1+2 |
| Kuala Selangor | Tun Aminah | 10:30 PM | RM75.00 | 1+2 |
| Sabak Bernam | Johor Bahru (JB Larkin Term.) | 9:30 PM | RM75.00 | 1+2 |
| Sabak Bernam | Skudai Parade | 9:30 PM | RM75.00 | 1+2 |
| Sabak Bernam | Tun Aminah | 9:30 PM | RM75.00 | 1+2 |
| Sekinchan | Johor Bahru (JB Larkin Term.) | 10:00 PM | RM75.00 | 1+2 |
| Sekinchan | Skudai Parade | 10:00 PM | RM75.00 | 1+2 |
| Sekinchan | Tun Aminah | 10:00 PM | RM75.00 | 1+2 |
| Sungai Besar | Johor Bahru (JB Larkin Term.) | 9:50 PM | RM75.00 | 1+2 |
| Sungai Besar | Skudai Parade | 9:50 PM | RM75.00 | 1+2 |
| Sungai Besar | Tun Aminah | 9:50 PM | RM75.00 | 1+2 |
| Tanjung Karang | Johor Bahru (JB Larkin Term.) | 10:20 PM | RM75.00 | 1+2 |
| Tanjung Karang | Skudai Parade | 10:20 PM | RM75.00 | 1+2 |
| Tanjung Karang | Tun Aminah | 10:20 PM | RM75.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Kajang | Johor Bahru (JB Larkin Term.) | 8:45 AM9:40 AM1:45 PM4:30 PM6:30 PM10:45 PM | RM45.00 | 1+2 |
| Kajang | Kulai | 9:40 AM | RM43.00 | 1+2 |
| Kajang | Pasir Gudang | 8:45 AM9:40 AM1:45 PM4:30 PM6:30 PM10:45 PM | RM49.00 | 1+2 |
| Kajang | Skudai, Johor Bahru | 8:45 AM9:40 AM1:45 PM4:30 PM6:30 PM10:45 PM | RM45.00 | 1+2 |
| Kajang | Tun Aminah | 8:45 AM9:40 AM1:45 PM4:30 PM6:30 PM10:45 PM | RM45.00 | 1+2 |
| Klang Sentral | Johor Bahru (JB Larkin Term.) | 9:15 AM1:15 PM6:00 PM9:30 PM | RM49.00 | 1+2 |
| Klang Sentral | Pasir Gudang | 9:15 AM1:15 PM6:00 PM9:30 PM | RM52.00 | 1+2 |
| Klang Sentral | Skudai, Johor Bahru | 9:15 AM1:15 PM6:00 PM9:30 PM | RM48.00 | 1+2 |
| Klang Sentral | Tun Aminah | 9:15 AM1:15 PM6:00 PM9:30 PM | RM48.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 9:45 AM1:45 PM6:30 PM10:00 PM11:45 PM | RM51.00 | 1+2 |
| Terminal Shah Alam | Pasir Gudang | 9:45 AM1:45 PM6:30 PM10:00 PM11:45 PM | RM54.00 | 1+2 |
| Terminal Shah Alam | Skudai, Johor Bahru | 9:45 AM1:45 PM6:30 PM10:00 PM11:45 PM | RM50.00 | 1+2 |
| Terminal Shah Alam | Tun Aminah | 9:45 AM1:45 PM6:30 PM10:00 PM11:45 PM | RM50.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral | Johor Bahru (JB Larkin Term.) | 12:15 PM | RM45.00 | 2+2 |
| Klang Sentral | Skudai, Johor Bahru | 12:15 PM | RM45.00 | 2+2 |
| Kuala Selangor | Johor Bahru (JB Larkin Term.) | 11:15 AM | RM70.00 | 1+2 |
| Kuala Selangor | Skudai, Johor Bahru | 11:15 AM | RM70.00 | 1+2 |
| Sabak Bernam | Johor Bahru (JB Larkin Term.) | 10:15 AM | RM70.00 | 1+2 |
| Sabak Bernam | Skudai, Johor Bahru | 10:15 AM | RM70.00 | 1+2 |
| Sekinchan | Johor Bahru (JB Larkin Term.) | 10:45 AM | RM70.00 | 1+2 |
| Sekinchan | Skudai, Johor Bahru | 10:45 AM | RM70.00 | 1+2 |
| Sungai Besar | Johor Bahru (JB Larkin Term.) | 10:30 AM | RM70.00 | 1+2 |
| Sungai Besar | Skudai, Johor Bahru | 10:30 AM | RM70.00 | 1+2 |
| Tanjung Karang | Johor Bahru (JB Larkin Term.) | 11:00 AM | RM70.00 | 1+2 |
| Tanjung Karang | Skudai, Johor Bahru | 11:00 AM | RM70.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 12:45 PM | RM45.00 | 2+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral | Johor Bahru (JB Larkin Term.) | 10:30 PM | RM53.00 | 1+2 |
| Klang Sentral | Pasir Gudang | 10:30 PM | RM55.00 | 1+2 |
| Klang Sentral | Tun Aminah Bus Terminal | 10:30 PM | RM53.00 | 1+2 |
| Klang Sentral | Yong Peng Bus Terminal | 10:30 PM | RM53.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 11:00 PM | RM51.00 | 1+2 |
| Terminal Shah Alam | Pasir Gudang | 11:00 PM | RM55.00 | 1+2 |
| Terminal Shah Alam | Tun Aminah Bus Terminal | 11:00 PM | RM51.00 | 1+2 |
| Terminal Shah Alam | Yong Peng Bus Terminal | 11:00 PM | RM51.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Larkin Sentral | 9:00 AM11:30 PM | RM45.00 | Double Decker |
| Klang Sentral Sani Bus Terminal | Pasir Gudang Bus Terminal | 9:00 AM11:30 PM | RM45.00 | Double Decker |
| Klang Sentral Sani Bus Terminal | Skudai Johor | 9:00 AM11:30 PM | RM45.00 | Double Decker |
| Klang Sentral Sani Bus Terminal | Yong Peng Toll (Utara) | 9:00 AM11:30 PM | RM45.00 | Double Decker |
| Terminal 17, Shah Alam | Larkin Sentral | 9:30 AM11:59 PM | RM45.00 | Double Decker |
| Terminal 17, Shah Alam | Pasir Gudang Bus Terminal | 9:30 AM11:59 PM | RM45.00 | Double Decker |
| Terminal 17, Shah Alam | Skudai Johor | 9:30 AM11:59 PM | RM45.00 | Double Decker |
| Terminal 17, Shah Alam | Yong Peng Toll (Utara) | 9:30 AM11:59 PM | RM45.00 | Double Decker |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral | Johor Bahru (JB Larkin Term.) | 11:30 AM12:15 PM2:30 PM6:45 PM7:30 PM9:00 PM10:45 PM | RM55.00 | 1+2 |
| Klang Sentral | Johor Jaya | 11:30 AM2:30 PM6:45 PM9:00 PM10:45 PM | RM60.00 | 1+2 |
| Klang Sentral | Pasir Gudang | 11:30 AM2:30 PM6:45 PM9:00 PM10:45 PM | RM60.00 | 1+2 |
| Klang Sentral | Skudai, Johor Bahru | 11:30 AM12:15 PM2:30 PM6:45 PM7:30 PM9:00 PM10:45 PM | RM55.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 12:00 PM12:45 PM3:00 PM7:15 PM8:00 PM9:30 PM11:15 PM | RM52.00 | 1+2 |
| Terminal Shah Alam | Johor Jaya | 12:00 PM3:00 PM7:15 PM9:30 PM11:15 PM | RM55.00 | 1+2 |
| Terminal Shah Alam | Pasir Gudang | 12:00 PM3:00 PM7:15 PM9:30 PM11:15 PM | RM55.00 | 1+2 |
| Terminal Shah Alam | Skudai, Johor Bahru | 12:00 PM12:45 PM3:00 PM7:15 PM8:00 PM9:30 PM11:15 PM | RM52.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Kulai | 10:00 PM11:00 PM | RM48.00 | 1+2 |
| Klang Sentral Sani Bus Terminal | Larkin Sentral | 8:30 AM10:00 AM12:00 PM2:00 PM3:30 PM4:30 PM10:00 PM11:00 PM | RM52.00 | 1+2 |
| Klang Sentral Sani Bus Terminal | Skudai Johor | 8:30 AM10:00 AM12:00 PM2:00 PM3:30 PM4:30 PM10:00 PM11:00 PM | RM52.00 | 1+2 |
| Terminal 17, Shah Alam | Kulai | 10:30 PM11:30 PM | RM48.00 | 1+2 |
| Terminal 17, Shah Alam | Larkin Sentral | 9:05 AM10:30 AM12:30 PM2:30 PM4:00 PM5:00 PM10:30 PM11:30 PM | RM52.00 | 1+2 |
| Terminal 17, Shah Alam | Skudai Johor | 9:05 AM10:30 AM12:30 PM2:30 PM4:00 PM5:00 PM10:30 PM11:30 PM | RM52.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral | Johor Bahru (JB Larkin Term.) | 8:15 AM11:00 AM7:00 PM | RM53.00 | 1+2 |
| Klang Sentral | Pasir Gudang | 8:15 AM11:00 AM7:00 PM | RM55.00 | 1+2 |
| Klang Sentral | Skudai Parade | 8:15 AM11:00 AM7:00 PM | RM51.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 9:00 AM11:30 AM7:45 PM | RM51.00 | 1+2 |
| Terminal Shah Alam | Pasir Gudang | 9:00 AM11:30 AM7:45 PM | RM53.00 | 1+2 |
| Terminal Shah Alam | Skudai Parade | 9:00 AM11:30 AM7:45 PM | RM50.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral | Johor Bahru (JB Larkin Term.) | 9:00 AM9:00 PM11:30 PM | RM53.00 | 1+2 |
| Klang Sentral | Skudai, Johor Bahru | 9:00 AM9:00 PM11:30 PM | RM51.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 9:30 AM9:30 PM11:59 PM | RM54.00 | 1+2 |
| Terminal Shah Alam | Skudai, Johor Bahru | 9:30 AM9:30 PM11:59 PM | RM48.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Larkin Sentral | 7:15 AM9:30 AM10:30 AM1:30 PM2:30 PM3:30 PM5:00 PM6:30 PM8:30 PM | RM55.00 | 1+2 |
| Klang Sentral Sani Bus Terminal | Skudai Johor | 7:15 AM9:30 AM10:30 AM1:30 PM2:30 PM3:30 PM5:00 PM6:30 PM8:30 PM | RM55.00 | 1+2 |
| Terminal 17, Shah Alam | Larkin Sentral | 7:45 AM10:00 AM11:00 AM2:00 PM3:00 PM4:00 PM5:30 PM7:00 PM9:00 PM | RM52.00 | 1+2 |
| Terminal 17, Shah Alam | Skudai Johor | 7:45 AM10:00 AM11:00 AM2:00 PM3:00 PM4:00 PM5:30 PM7:00 PM9:00 PM | RM52.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Larkin Sentral | 8:30 AM10:30 AM12:30 PM2:00 PM8:30 PM10:30 PM | RM50.00 | 1+2 |
| Klang Sentral Sani Bus Terminal | Pasir Gudang Bus Terminal | 8:30 AM10:30 AM12:30 PM2:00 PM8:30 PM10:30 PM | RM52.00 | 1+2 |
| Terminal 17, Shah Alam | Larkin Sentral | 9:15 AM11:00 AM1:00 PM2:45 PM9:15 PM11:00 PM | RM48.00 | 1+2 |
| Terminal 17, Shah Alam | Pasir Gudang Bus Terminal | 9:15 AM11:00 AM1:00 PM2:45 PM9:15 PM11:00 PM | RM50.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Kluang Bus Terminal | 8:30 AM | RM40.00 | 1+2 |
| Klang Sentral Sani Bus Terminal | Larkin Sentral | 10:00 AM10:00 PM | RM45.00 | 1+2 |
| Terminal 17, Shah Alam | Kluang Bus Terminal | 9:05 AM | RM35.00 | 1+2 |
| Terminal 17, Shah Alam | Larkin Sentral | 10:30 AM10:30 PM | RM45.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Larkin Sentral | 10:00 AM | RM55.00 | 2+2 |
| Terminal 17, Shah Alam | Larkin Sentral | 10:30 AM | RM55.00 | 2+2 |
| Terminal 17, Shah Alam | The Hive Club House, Pengerang | 11:00 PM | RM65.00 | 2+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Kajang | Johor Bahru (JB Larkin Term.) | 7:15 AM9:45 AM2:00 PM5:40 PM8:15 PM | RM50.00 | 1+2 |
| Kajang | Pasir Gudang | 7:15 AM9:45 AM2:00 PM5:40 PM8:15 PM | RM49.00 | 1+2 |
| Kajang | Skudai Parade | 7:15 AM9:45 AM2:00 PM5:40 PM8:15 PM | RM45.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 7:45 AM9:25 AM11:00 AM2:00 PM4:00 PM11:00 PM | RM55.00 | 1+2 |
| Terminal Shah Alam | Johor Bahru (Skudai) | 7:45 AM9:25 AM11:00 AM2:00 PM4:00 PM11:00 PM | RM55.00 | 1+2 |
| Terminal Shah Alam | Kulai | 7:45 AM9:25 AM11:00 AM2:00 PM4:00 PM11:00 PM | RM55.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Terminal Shah Alam | Johor Bahru (JB Larkin Term.) | 8:15 AM | RM45.00 | 1+2 |
| Terminal Shah Alam | Skudai Parade | 8:15 AM | RM45.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Klang Sentral Sani Bus Terminal | Muar Bentayan Bus Terminal | 9:30 AM2:30 PM4:00 PM7:30 PM | RM20.60 | 2+2 |
| Terminal 17, Shah Alam | Muar Bentayan Bus Terminal | 10:00 AM3:00 PM4:30 PM8:00 PM | RM19.80 | 2+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Terminal Shah Alam | Mersing Jetty (Gateway to Tioman) | 7:45 AM | RM45.00 | 1+2 |
| Terminal Shah Alam | Terminal Bus Mersing | 7:45 AM | RM47.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Terminal 17, Shah Alam | Johor Bharu | 8:15 AM3:15 PM11:45 PM | RM50.00 | 1+2 |
| Terminal 17, Shah Alam | Skudai | 8:15 AM3:15 PM11:45 PM | RM50.00 | 1+2 |
Boarding points in Selangor
- Terminal Shah Alam
- Klang Sentral
- Terminal 17, Shah Alam
- Klang Sentral Sani Bus Terminal
- Sabak Bernam
- Sungai Besar
- Sekinchan
- Tanjung Karang
- Kuala Selangor
- Kajang
Arrival points in Johor
- Johor Bahru (JB Larkin Term.)
- Skudai, Johor Bahru
- Tun Aminah
- Larkin Sentral
- Pasir Gudang
- Skudai Parade
- Tun Aminah Bus Terminal
- Yong Peng Toll (Utara)
- Skudai Johor
- Kulai
- Pasir Gudang Bus Terminal
- Kluang Bus Terminal
- Johor Jaya
- Muar Bentayan Bus Terminal
- Yong Peng Bus Terminal
- Mersing Jetty (Gateway to Tioman)
- Terminal Bus Mersing
- Skudai
- Johor Bharu
- The Hive Club House, Pengerang
- Johor Bahru (Skudai)
Frequently asked questions
How much is the bus from Selangor to Johor?
Fares start from RM19.80 one way. 20 operators run this route, so prices vary with coach class and departure time.
Which companies run buses from Selangor to Johor?
Billion Stars, Causeway Link Express, City Express, GPGLOBAL TRAVEL & TOURS SDN BHD, Kwok Ping, LA Holidays, LPMS, Mayang Sari Express, Permata Utara Sdn Bhd, Prisma Express, Progress Liner Express, Quick Liner Express, Sanwa Express, SC Southern Express, SMB Express, Sri Maju Group, SRI THEVEN Express, Starmart Express, Super Nice Express, Zaim Express.
What time is the first and last bus from Selangor to Johor?
The earliest scheduled departure is 7:15 AM and the last is 11:59 PM. Exact times vary by operator and boarding point.