You board the yellow ETS train at KL Sentral, and four hours later you are on the ferry to George Town, wind in your face and the old shophouses of Penang in front of you. That is how smooth travel in Malaysia is almost everywhere. The roads are good, the buses run on time and nearly everyone speaks English.
It is not a country you travel at one speed, though. Along the west coast you zip from city to city, but the east coast and the interior take a full day in a minivan, the islands are boat-only, and Borneo sits across the South China Sea. You only get there by air, and at the airport you show your passport all over again.
Below is what each type of transport does, how long you are on the road and where it wins. The full route, with the next leg from every stop, is in our 3-week Malaysia itinerary.
The ETS train: fast and cool up the west coast
The ETS train is the backbone of the classic route. It runs north from KL Sentral, faster and more comfortable than most trains in the region. To Ipoh it takes two to two and a half hours, from about €5. Carry on to Butterworth, the station across the water from Penang, and you are on board for about four hours, with tickets from about €13. Between Ipoh and Butterworth it is about an hour and a half.
In Butterworth you switch to the ferry, and fifteen minutes later you walk into George Town. That crossing is the best bit of the whole trip, so go and stand at the railing.
Two things to know. Melaka has no train station: you get there by bus. And at weekends and in the holidays the train fills up, so book a few days ahead then. For the Batu Caves you use a different train, the KTM Komuter from KL Sentral: just over half an hour for about €0.50, and it stops right next to the rainbow steps.
Our verdict: for Kuala Lumpur, Ipoh and Penang the train is the best choice, and at weekends you book it a few days ahead
The bus: to Melaka and the cool hills
Where the railway stops, the bus takes over. In Kuala Lumpur the buses south and up to the hills leave from TBS (Terminal Bersepadu Selatan), a few stops by train from KL Sentral. They run to Melaka all day, two to two and a half hours for about €3. You arrive at Melaka Sentral, and a Grab gets you to the old town in fifteen minutes for about €2.
The Cameron Highlands are road-only, and that road winds. From Ipoh the bus leaves from the Amanjaya terminal and takes two to two and a half hours to Tanah Rata, for about €4. There are a few buses a day, mostly in the morning and early afternoon. From TBS in Kuala Lumpur it is four to five hours, for about €6 to €9. From the Highlands, buses and minivans run to Penang in four to five hours.
Coming from Melaka and heading north? A direct bus takes about five hours to Ipoh. There is also a bus between Kuala Lumpur and Penang, about five hours.
Our verdict: the bus is your ride to Melaka and the Highlands, and from Ipoh you are up the mountain fastest
Every leg on the peninsula at a glance
| From | To | How | Travel time |
|---|---|---|---|
| Kuala Lumpur | Melaka | bus from TBS | 2 to 2.5 hrs |
| Kuala Lumpur | Ipoh | ETS train | 2 to 2.5 hrs |
| Melaka | Ipoh | bus | about 5 hrs |
| Ipoh | Cameron Highlands | bus | 2 to 2.5 hrs |
| Kuala Lumpur | Cameron Highlands | bus from TBS | 4 to 5 hrs |
| Cameron Highlands | Penang | bus or minivan | 4 to 5 hrs |
| Ipoh | Butterworth (Penang) | ETS train | about 1.5 hrs |
| Kuala Lumpur | Butterworth (Penang) | ETS train | about 4 hrs |
| Kuala Lumpur | Taman Negara | minivan | about 5 hrs |
| Taman Negara | Kuala Besut (Perhentians) | minivan | about 8 hrs |
The minivan: right across the peninsula
The jump from the west coast to the east coast is the longest travel day on the peninsula. From Penang, the Cameron Highlands and Taman Negara, minivans run to Kuala Besut, the fishing town where the boats to the Perhentian Islands leave. From Taman Negara you are on the road for about eight hours. Coming from Langkawi, you first cross to the mainland and then drive right across the peninsula. From Kuala Lumpur there are night buses to Kuala Besut, so you can sleep through the ride.
Taman Negara itself is easiest with a direct minibus from a tour agency in Kuala Lumpur, about five hours, with the last leg by boat if you like. Doing it yourself, you go via Jerantut, a small town about three hours from Kuala Lumpur where the bus and the train arrive. From there the local bus takes you to Kuala Tahan in an hour to an hour and a half for about €1.50. Do ask at the bus station whether it is running.
There is no direct connection from Taman Negara to Tioman. You travel via Jerantut to Mersing for the ferry, and that is a long day.
Our verdict: plan every crossing to the east coast as a full travel day, or take the night bus from Kuala Lumpur
The jungle line: the interior by train
This is the ride few backpackers know about. On the old jungle line from Gemas to Tumpat in the northeast, slow trains still run straight through the rainforest. There is a night train too, which takes about thirteen hours. It is not a quick way to get anywhere, it is a way to watch the green heart of the peninsula roll past your window.
Our verdict: a ride for when you have time and want to see the interior, not for when you are on a schedule
Ferry, speedboat and river boat
On the islands everything revolves around the boat, and every island has its own harbour.
Penang and Langkawi
To Penang it is the ferry from Butterworth, fifteen minutes. Langkawi you reach by ferry from Kuala Perlis, about 75 minutes, or from Kuala Kedah, about an hour and three quarters. Both are a bus ride from Penang or Kuala Lumpur. The boats arrive in Kuah, and from there it is half an hour to Cenang. There has been no regular direct boat from George Town since the pandemic.
The Perhentian Islands
From Kuala Besut the speedboat takes about forty minutes to the islands, for about €7 one way. At the jetty you also pay the marine park fee, about €6. There are no roads on the islands themselves: you walk the jungle trails or take a water taxi, from about €4 a ride. Bring enough cash from Kuala Besut, because there are no cash machines on the islands.
Tioman
Tioman is boat-only, from Mersing or the newer terminal at Tanjung Gemok a little north of it. The ferry takes an hour and a half to two hours to the first jetty, for about €12 to €17, plus about €6 in cash for the marine park. Departure times depend on the tide, so leave yourself an hour or two of slack. Between the villages a water taxi runs, about €6 for short hops.
The river boat to Taman Negara
The best way to arrive in Taman Negara is over the water. From the jetty at Kuala Tembeling you head upstream for about three hours to Kuala Tahan, for about €7. Take the bus in and the boat out, or the other way round: that way you see the interior from the road and the rainforest from the river.
Our verdict: the river boat to Taman Negara is a trip in itself, and for Tioman you always leave slack for the tide
To Borneo: flying and a second stamp
You fly to Borneo, because there is no boat. Domestic flights on the budget airlines are cheap if you book in time. From Kuala Lumpur you are in Kuching in about two hours and in Kota Kinabalu in around two and a half. Coming from Tioman, take the bus from Mersing to Johor Bahru or Kuala Lumpur, and from both you fly direct to Kuching.
At the airport comes the surprise. Sabah and Sarawak run their own immigration, so even after a domestic flight you queue at a desk and get a separate stamp. Keep your passport in your hand luggage, even though you are not leaving the country. Hang on to every stamp: if you cannot show when you came in by the time you leave, you can be treated as an overstayer. Everything else that applies to Malaysia, from the digital arrival card to the onward ticket, is on our visa page.
Our verdict: book your flight to Borneo in good time, and keep your passport in your hand luggage, not your backpack
Getting around Borneo
Once on Borneo, planes and buses take turns. Between Kuching and Kota Kinabalu you fly in about an hour and a half, with several flights a day. From Kuching you can also fly to Mulu, in just over an hour and a half, because there is no road to that park.
In Sabah the bus to Sandakan leaves from the bus station at Inanam, fifteen minutes by Grab from central Kota Kinabalu. It takes six to eight hours, costs about €10 and stops at the turn-off for Sepilok. It also passes the entrance to Kinabalu Park, so after the climb you do not need to go back to the city: ask at the park roughly what time it comes through. Flying to Sandakan takes an hour.
No public transport runs to the Kinabatangan. The lodges pick you up in Sepilok or Sandakan, a drive of about two hours, often with a stop at the Gomantong Caves. After that, the morning bus from Sandakan to Semporna, about six hours for about €11, passes the Sukau turn-off. Get your lodge to drop you there and arrange with the bus company that they stop. Faster to Semporna is flying to Tawau, then an hour and a half by minibus or taxi.
| From | To | How | Travel time |
|---|---|---|---|
| Kuala Lumpur | Kuching | plane | about 2 hrs |
| Kuala Lumpur | Kota Kinabalu | plane | about 2.5 hrs |
| Kuching | Kota Kinabalu | plane | about 1.5 hrs |
| Kota Kinabalu | Sepilok (turn-off) | bus to Sandakan | 6 to 8 hrs |
| Kota Kinabalu | Sandakan | plane | 1 hr |
| Sepilok or Sandakan | Kinabatangan | lodge transfer | about 2 hrs |
| Sandakan | Semporna | bus | about 6 hrs |
| Kota Kinabalu | Semporna | bus | 9 to 10 hrs |
| Tawau (airport) | Semporna | minibus or taxi | about 1.5 hrs |
Semporna is the end of the road through Sabah. From Tawau you fly to Kota Kinabalu or straight to Kuala Lumpur. Been diving? Wait at least a day after your last dive before you get on a plane. Which side of Borneo suits you is in Borneo: Sabah or Sarawak.
Our verdict: in Sabah the bus works fine, but let the Kinabatangan lodge sort your transport and plan a rest day after diving
Across the border: Thailand, Singapore and the rest of Borneo
Malaysia sits right in the middle of the region, which makes it an easy country to travel into or out of. Heading north, minivans and buses leave Komtar in Penang and take about three to four hours to Hat Yai in southern Thailand. From Langkawi a boat runs to Koh Lipe in the dry season, and via Kuala Perlis you are quickly at the border. Coming in by train from Thailand at Padang Besar, you walk through exactly the same immigration desk as at the airport, so fill in your digital arrival card for a land border too.
To the south, Singapore is close. From Melaka the bus takes about four hours, and from Mersing, the port for Tioman, a bus also gets you there in about four. Do not carry duty free booze from Tioman into Singapore: you pay Singapore duty on it anyway.
On Borneo, buses run from Kuching to Pontianak in Indonesia. You can travel between Kuching and Kota Kinabalu overland too, but that is a long trip through Brunei, which is why almost everyone flies.
Our verdict: Malaysia is an ideal country to start or finish your trip with, with Penang as the gateway north and Melaka or Mersing as your springboard to Singapore
In the city and on the island: Grab, scooter and the CAT bus
From Kuala Lumpur’s airport the KLIA Ekspres gets you to KL Sentral in 28 minutes for about €11 (about €13 from January 2027). The airport bus costs about €3 and takes an hour. In the city, the LRT, MRT and monorail take you everywhere for fifty cents to a euro a ride.
For the rest there is Grab, Asia’s Uber: fixed price, no haggling. In Kuala Lumpur a ride usually costs €2 to €4, in Kuching about €2. In Kota Kinabalu Grab is cheap and reliable, and in the Cameron Highlands there are fewer drivers, so there you sometimes take a taxi instead.
In George Town you walk, or hop on the free CAT bus that loops the centre. Rapid Penang buses take you to Penang Hill, Kek Lok Si and the national park for a few cents. In Kuching a wooden sampan ferries you across the river for about €0.20, and bus 1 takes 45 minutes to Kampung Bako for the little boat into the park.
On Langkawi there is barely any public transport. A scooter is from about €8 a day, and if you do not ride, use Grab. Photograph your scooter before you ride off, and never leave your passport as a deposit.
Our verdict: install Grab before you land, and on Langkawi the scooter is your best friend
How to book it
Cards work easily in the cities, but on the islands and on the river you pay cash. There is no cash machine on the Perhentians or on the Kinabatangan, and Tioman has just one, in Tekek, which does run dry. So get your money on the mainland. Travelling the east coast in the monsoon, roughly November to February? The boats run far less often then: which coast is dry when is in the best time to visit Malaysia.
Train, bus or plane: what is the smartest way to get around Malaysia?
Each type of transport has its own patch of the country here. Along the west coast you take the ETS train: Kuala Lumpur, Ipoh and Butterworth are on the same line, and it does not get faster or more comfortable than that. For Melaka, the Cameron Highlands and the crossing to the east coast you take the bus or the minivan, and for that last one you count on a full travel day.
Borneo is the only place where you really have to fly, because there is no boat. Book that flight in time, keep your passport handy for the Sabah or Sarawak stamp, and on Borneo let the buses and the lodges do the work. That way you never sit still for long in Malaysia, and you spend as much time looking out of the window as you do at your destination.



