There's no way to fly directly from Kuala Lumpur to Lahad Datu without a connection — but the route is straightforward and well-served.
Option 1: Via Kota Kinabalu (recommended)
The most reliable route. Multiple daily flights connect Kuala Lumpur to Kota Kinabalu, with onward connections to Lahad Datu running throughout the day. This is the route most tour operators build itineraries around, and it's easy to time so you land in Lahad Datu with enough daylight left for your 4WD transfer.
Option 2: Via Tawau
Some travellers route through Tawau instead, then take a 2-hour road transfer to Lahad Datu. It's occasionally cheaper on flights but adds driving time — worth comparing on a specific travel date, but not the default choice.

Photo from Wikipedia
Planning your KL layover
If your international flight lands in KL in the evening, it's often worth overnighting in Kuala Lumpur before catching an early flight to Kota Kinabalu the next morning — this avoids a tight same-day connection and gives you a buffer if your international flight is delayed.
Book your KL–Kota Kinabalu–Lahad Datu domestic legs together where possible; it makes rebooking easier if an earlier flight is delayed, and airlines will usually protect connected itineraries.
Total journey time from Kuala Lumpur
| Leg | Duration |
|---|---|
| Kuala Lumpur → Kota Kinabalu | ~2.5 hrs |
| Layover / connection | ~1–2 hrs |
| Kota Kinabalu → Lahad Datu | ~55 min |
| Lahad Datu → Danum Valley (4WD) | ~2.5 hrs |
| Total | ~7 hours |