The overnight sleeper train to Langkawi from the capital is set to leave at 9:20 pm and arrive at Arau Station, the stop closest Langkawi, at 8:00am. I’m sure there are other ways to do this but this is how I did it so this is what I’m sharing. So here it is — a detailed guide on how to reach Langkawi from Kuala Lumpur airport by overnight sleeper train.
First things first: It would be best to book in advance especially during peak season. If not, well, you can always take your chances at KL Sentral.
1. At the airport, take the bus to KL Sentral (RM8).
2. Take the Senandung Langkawi train to Hat Yai, Thailand. Arau Station is your stop, the third to the last stop. A second-class upper berth costs (RM34). Again, it leaves at 9:20 pm. If everything goes as expected, it will reach Arau Station at 8am the next day.
The train may be old but the interiors are pretty and neat. My bed was covered in fresh white sheet and there was no nasty smell inside. (The common restroom is another story though, but it is nothing that cannot be tolerated.)
Important! DO NOT OVERSLEEP. You might miss your stop!
3. At the Arau Station, take a short cab ride (RM24) to Kuala Perlis.
4. Catch a ferry to Kuah Terminal on Langkawi Island. A ferry leaves Kuala Perlis for Langkawi every hour from 7:30 am to 7:00 pm. Here are the schedule and prices as of August 2013.
5. Exit Kuah Terminal and take a cab to your hotel. Cab ride costs RM 25.