Grand tour: the peninsula and Sabah · 15 days
15 days, 14 nights: Kuala Lumpur (3N), Cameron Highlands (2N), Penang (3N), Kota Kinabalu (2N), Kinabalu Park & Kundasang (2N), Sandakan & Sepilok (2N) + Genting Highlands day trip. Best time to go: Best Mar and Jun–Aug, when both the west coast and Borneo are fairly dry.
Day 1: Arrive in Kuala Lumpur
Kuala Lumpur
- Bukit Bintang & Jalan Alor food street · 2.5 h. Stalls get going after 6pm; check prices on seafood before ordering.
- Thean Hou Temple · 1 h. On a hill south of the centre; take Grab. Lanterns are lit around Chinese New Year.
Local tip: Stalls get going after 6pm; check prices on seafood before ordering.
Day 2: Explore Kuala Lumpur
Kuala Lumpur
- Petronas Twin Towers skybridge & observation deck · 1.5 h. Timed tickets sell out on weekends; book online a few days ahead. Closed on Mondays.
- Batu Caves temple and the 272 steps · 2.5 h. KTM Komuter from KL Sentral runs to the gate. Cover knees and shoulders (sarongs for hire), go before 9am, and keep food away from the macaques.
- Merdeka Square, Sultan Abdul Samad Building & Masjid Jamek · 2 h. The free KL City Gallery here has a city model and maps; Masjid Jamek has set visiting hours for non-Muslims and lends robes.
- Central Market (Pasar Seni) & Petaling Street · 2 h. Central Market has fixed-price batik and crafts; bargain on Petaling Street.
Local tip: Timed tickets sell out on weekends; book online a few days ahead. Closed on Mondays.
Day 3: Genting Highlands day trip (cable car, Chin Swee temple and the hilltop)
Kuala Lumpur
- Genting Highlands day trip (cable car, Chin Swee temple and the hilltop) · 8 h. About 1h by road from KL; many tours stop at Batu Caves on the way. Carry a light jacket — the hilltop is around 18–23°C.
Local tip: About 1h by road from KL; many tours stop at Batu Caves on the way. Carry a light jacket — the hilltop is around 18–23°C.
Day 4: Kuala Lumpur → Cameron Highlands
Cameron Highlands · Kuala Lumpur to Cameron Highlands, Bus ~4h on a winding mountain road
- BOH Sungei Palas tea plantation & tea house · 2 h. Entry is free; the factory tour runs on weekdays. Closed on Mondays.
- Butterfly garden & insect farm · 1 h
Local tip: Entry is free; the factory tour runs on weekdays. Closed on Mondays.
Day 5: Explore Cameron Highlands
Cameron Highlands
- Mossy Forest & highlands half-day Land Rover tour · 4 h. Mornings are clearest; the boardwalk sometimes closes for repairs, so check the tour route.
- Strawberry and lavender farms · 2 h
- Golden Hills night market, Brinchang · 2 h. Runs on Friday and Saturday evenings and holiday periods; bring a jacket.
Local tip: Mornings are clearest; the boardwalk sometimes closes for repairs, so check the tour route.
Day 6: Cameron Highlands → Penang
Penang · Cameron Highlands to Penang, Minivan ~4–5h
- George Town street art & heritage walk · 3 h. Start at Armenian Street before 9am to beat the heat and the crowds at the best-known murals.
Local tip: Start at Armenian Street before 9am to beat the heat and the crowds at the best-known murals.
Day 7: Explore Penang
Penang
- Penang Hill funicular & The Habitat canopy walk · 3.5 h. Queues are long on weekends; the fast-lane ticket costs more. The Habitat is ticketed separately.
- Kek Lok Si Temple & Kuan Yin statue · 2 h. Combine with Penang Hill (both in Air Itam); an inclined lift goes up to the statue.
- Clan Jetties (Chew Jetty) & Khoo Kongsi · 2 h. The jetties are lived-in homes; keep noise down and do not fly drones.
Local tip: Queues are long on weekends; the fast-lane ticket costs more. The Habitat is ticketed separately.
Day 8: Explore Penang
Penang
- Hawker food crawl (Gurney Drive, New Lane or Chulia Street) · 2.5 h. Many stalls close one day a week; order by the stall number and pay on delivery.
- Pinang Peranakan Mansion · 1.5 h
- Little India, Kapitan Keling Mosque & Fort Cornwallis · 2 h
- Cheong Fatt Tze Blue Mansion guided tour · 1 h. Entry only on guided tours at set times each day.
Local tip: Many stalls close one day a week; order by the stall number and pay on delivery.
Day 9: Penang → Kota Kinabalu
Kota Kinabalu · Penang to Kota Kinabalu, Direct flight ~2h45m
- Signal Hill Observatory · 1 h
- Kota Kinabalu City Mosque · 1 h. Robes are provided; closed to visitors at prayer times.
Local tip: Robes are provided; closed to visitors at prayer times.
Day 10: Explore Kota Kinabalu
Kota Kinabalu
- Tunku Abdul Rahman Park island hopping (Manukan, Sapi, Mamutik) · 5 h. Boats leave from Jesselton Point; the park conservation fee is extra and paid at the counter.
- Waterfront sunset & Filipino Market seafood grills · 2.5 h. Seafood is priced by weight; confirm the price before it goes on the grill.
Local tip: Boats leave from Jesselton Point; the park conservation fee is extra and paid at the counter.
Day 11: Kota Kinabalu → Kinabalu Park & Kundasang
Kinabalu Park & Kundasang · Kota Kinabalu to Kinabalu Park & Kundasang, Shared minivan or car ~2h
- Kinabalu Park HQ trails & botanical garden · 3 h. Mornings are clearest for views of the mountain; afternoon cloud and showers are common.
- Desa Dairy Farm, Kundasang · 1.5 h. Go early for clear views of Mount Kinabalu behind the pastures; the milking session is mid-afternoon.
Local tip: Mornings are clearest for views of the mountain; afternoon cloud and showers are common.
Day 12: Explore Kinabalu Park & Kundasang
Kinabalu Park & Kundasang
- Poring Hot Springs & canopy walkway · 4 h. About 45 minutes from Kundasang; ask locally whether a Rafflesia is blooming nearby.
- Kundasang War Memorial · 1 h
- Sabah Tea Garden, Ranau · 2 h
Local tip: About 45 minutes from Kundasang; ask locally whether a Rafflesia is blooming nearby.
Day 13: Kinabalu Park & Kundasang → Sandakan & Sepilok
Sandakan & Sepilok · Kinabalu Park & Kundasang to Sandakan & Sepilok, Bus or car ~4–5h
- Sepilok Orangutan Rehabilitation Centre · 2.5 h. Feeding times are around 10am and 3pm; keep bags zipped and no insect repellent near the platform. Closed for a break around midday.
Local tip: Feeding times are around 10am and 3pm; keep bags zipped and no insect repellent near the platform. Closed for a break around midday.
Day 14: Explore Sandakan & Sepilok
Sandakan & Sepilok
- Bornean Sun Bear Conservation Centre · 1.5 h. Opposite the orangutan centre; pair the two on one visit.
- Rainforest Discovery Centre canopy walk · 2.5 h. Best at opening or late afternoon for birds; guided night walks run from nearby lodges.
- Labuk Bay Proboscis Monkey Sanctuary · 3 h. Feeding sessions are mid-morning and mid-afternoon; transport from Sepilok is about 45 minutes.
Local tip: Opposite the orangutan centre; pair the two on one visit.
Day 15: Depart from Sandakan & Sepilok
Sandakan & Sepilok
Keep a buffer before your flight; check-out is usually noon.
Where to stay
- Kuala Lumpur (3 nights): Bukit Bintang. Malls, Jalan Alor food street and the monorail and MRT on foot.
- Cameron Highlands (2 nights): Brinchang / Kea Farm. Close to the strawberry farms, night market and Mossy Forest road.
- Penang (3 nights): George Town heritage zone boutique shophouses. Restored shophouses within walking distance of the murals and clan houses.
- Kota Kinabalu (2 nights): Waterfront / Jesselton Point. Sea-view hotels near the island boats and night grills.
- Kinabalu Park & Kundasang (2 nights): Kinabalu Park HQ lodges. Inside the park, a short drive from Timpohon Gate for an early climb start.
- Sandakan & Sepilok (2 nights): Sepilok jungle lodges. Walk to the orangutan and sun bear centres; night walks from the lodge.