7-Day Hidden Malaysia Route: Melaka, Kuching, Kundasang and Semporna

Day 1 · Wed, Sep 9
Melaka, Malaysia

Heritage streets of Melaka

  1. Jonker Street — Jonker Walk; browse antique shops, galleries, and street-food stalls in Melaka’s historic core, late afternoon, ~1.5 hours.
  2. Baba & Nyonya Heritage Museum — Jalan Tun Tan Cheng Lock; tour a richly preserved Peranakan townhouse, ~4:45 PM, ~1 hour.
  3. Cheng Hoon Teng Temple — Jalan Tokong; visit Malaysia’s oldest functioning traditional Chinese temple, early evening, ~30 minutes.
  4. Melaka River Cruise — Melaka River jetty; see illuminated heritage buildings from the water, evening, ~45 minutes.
  5. Jonker Street Night Market — Jonker Walk; sample local specialties such as chicken rice balls and Nyonya desserts, from ~6:30 PM, ~1.5 hours, approximately RM20–40 per person.

Late Afternoon — Historic Core

Start around 4:00 PM at Jonker Street, when the old shophouses catch the softer light and the antiques, galleries, and small craft shops are still open. Allow about 90 minutes to browse without rushing. Walk west along Jalan Hang Jebat, then turn into the quieter lanes around Jalan Tun Tan Cheng Lock; this is a compact area, so walking is far easier than finding parking. Keep some cash in small notes for snacks and small purchases.

At about 4:45 PM, continue to the Baba & Nyonya Heritage Museum, a short walk away. The preserved townhouse gives a much better sense of Melaka’s Peranakan culture than a quick street stroll—look closely at the carved woodwork, tiled floors, ancestral altar, and family rooms. It usually closes around 5:30–6:00 PM, so arrive promptly; admission is typically around RM20–25. From there, walk a few minutes along Jalan Tokong to Cheng Hoon Teng Temple, Malaysia’s oldest functioning traditional Chinese temple. Spend roughly 30 minutes admiring the timber structure and incense-filled courtyard, keeping your voice low and dressing respectfully.

Evening — River Lights and Street Food

Head to the Melaka River Cruise jetty for an evening ride of about 45 minutes. The boat passes painted murals, bridges, old warehouses, and illuminated heritage buildings, making this one of the easiest ways to understand how the historic center is arranged. Tickets are generally around RM25–35 per adult, and departures commonly continue into the evening, though queues can build after sunset. Once back on land, return to the Jonker Street Night Market for dinner. Try chicken rice balls, Nyonya laksa, cendol, pineapple tarts, and savoury popiah; RM20–40 per person is enough for a generous tasting meal. The market is liveliest from about 6:30 PM onward, especially on Friday through Sunday, while weekday evenings are calmer. Bring water and expect uneven pavements—the best approach is to wander rather than attempt the whole street in one pass.

Day 2 · Thu, Sep 10
Kuching, Sarawak, Malaysia

Rainforest gateway in Kuching

Getting there from Melaka, Malaysia
Drive/e-hail to Melaka Sentral, take an express bus to Kuala Lumpur/TBS (~2–2.5h, RM15–30), then fly Kuala Lumpur (KUL) to Kuching (KCH) on AirAsia or Malaysia Airlines (~1h45, RM180–500). Allow 6–8h door-to-door; depart very early to preserve the planned Kuching sightseeing day.
Private transfer to Kuala Lumpur Airport (~2–2.5h, RM250–450), then the same flight; more convenient with luggage.
  1. Kuching International Airport to Kuching city — Airport–waterfront transfer; fly from Melaka/Kuala Lumpur to Kuching and allow roughly 30–45 minutes by taxi or e-hailing to central Kuching, morning.
  2. Sarawak Museum Complex — Jalan Tun Abang Haji Openg; explore Sarawak’s natural and cultural history, late morning, ~1.5 hours.
  3. Kuching Waterfront — Main Bazaar waterfront; stroll along the river promenade toward the Darul Hana Bridge, afternoon, ~1 hour.
  4. Darul Hana Bridge — Kuching Waterfront; enjoy broad views over the Sarawak River and city skyline, late afternoon, ~30 minutes.
  5. Top Spot Food Court — Jalan Padungan; try fresh Sarawak seafood in a lively open-air setting, dinner, ~1.5 hours, approximately RM35–70 per person.

Morning — Arrive and Settle into Kuching

After the early journey from Melaka, allow 30–45 minutes by Grab or taxi from Kuching International Airport into the city centre. A Grab to the waterfront usually costs around RM15–25, depending on traffic and luggage. Drop bags at your accommodation, then head first to the Sarawak Museum Complex on Jalan Tun Abang Haji Openg. Set aside about 1½ hours for the galleries covering Sarawak’s Indigenous cultures, wildlife, and natural history; the complex is generally open from around 9:00 AM to 4:45 PM, though it is worth checking current hours after your flight. Bring water—Kuching is hot and humid even when the sky looks overcast.

Afternoon — Along the Sarawak River

From the museum, it is roughly a 10–15-minute walk or a short Grab ride to the Kuching Waterfront and Main Bazaar. Follow the riverside promenade at an easy pace, watching the small boats cross toward the opposite bank and the old shophouses behind you. Continue toward Darul Hana Bridge, allowing about 30 minutes there for wide views of the Sarawak River, the Astana side, and Kuching’s skyline. Late afternoon is the most comfortable time for this walk; if rain arrives, take shelter in one of the Main Bazaar’s craft shops or cafés rather than trying to rush onward.

Evening — Seafood at Top Spot

For dinner, take a 10-minute Grab ride from the waterfront to Top Spot Food Court on Jalan Padungan. This open-air seafood centre is busiest from about 6:00 PM onward, so arrive slightly early if you want a table without waiting. Choose your seafood at the stalls—ask for the cooking price before ordering—and try local favourites such as butter prawns, midin fern, or steamed fish. Budget approximately RM35–70 per person. It is casual and lively rather than polished, which is exactly the appeal; carry some cash, as individual stalls may not all accept cards.

Day 3 · Fri, Sep 11
Bako National Park, Sarawak, Malaysia

Wildlife escape at Bako

Getting there from Kuching, Sarawak, Malaysia
Grab/taxi to Bako Boat Terminal in Kampung Bako (~40–60min, RM35–70), then park boat to Bako HQ (~20–30min, RM100–200 per boat, usually shared). Leave around 7:00am; arrange the boat and park entry through Sarawak Parks or a local Bako tour operator.
Organized day tour from Kuching via Klook or local operators (~RM180–350 per person), simplest for early boat coordination.
  1. Kuching to Bako National Park boat transfer — Bako Terminal, Kampung Bako; take a taxi or e-hailing from Kuching, then a park boat to the headquarters, early morning, ~1.5–2 hours including transfers.
  2. Bako National Park Headquarters — Bako; register, check tide conditions, and begin the park’s short coastal trails, morning, ~30 minutes.
  3. Telok Paku Trail — Bako National Park; hike through rainforest to a secluded beach with chances to spot proboscis monkeys, morning, ~2.5 hours return.
  4. Bako National Park canteen area — Park headquarters; have a simple local lunch and refill water, midday, ~45 minutes, approximately RM15–30 per person.
  5. Telok Pandan Kecil Trail — Bako National Park; climb to one of Bako’s most striking cliff-top viewpoints, afternoon, ~2.5–3 hours return.
  6. Bako National Park boat back to Bako Terminal — Bako coast; return by boat and onward to Kuching before late afternoon, depart around ~3:00–4:00 PM, ~1.5–2 hours including road transfer.

Morning — River, Rainforest and Headquarters

Leave Kuching around 6:30–7:00 AM by Grab or taxi for Bako Boat Terminal in Kampung Bako; the drive usually takes 40–60 minutes and costs roughly RM35–70. Boats to Bako National Park Headquarters take another 20–30 minutes, depending on tide and sea conditions. At the park office, register, confirm your return boat, and check the tide before setting out. The boat fee is commonly RM100–200 per boat, usually shared, while park admission is around RM20 for international visitors. Bring cash, drinking water, insect repellent, and shoes with a firm grip—the weather can turn wet quickly.

Begin with the Telok Paku Trail, a roughly 2.5-hour return hike through lowland rainforest to a quiet beach. Move slowly near the forest edge and keep your voice down: proboscis monkeys, macaques, bearded pigs, and monitor lizards are regularly seen, though never guaranteed. The trail is humid and rooty, with a few steeper sections, so allow extra time for wildlife stops. Return to the Bako National Park canteen area around midday for a simple rice or noodle lunch, usually RM15–30 per person. Choices are basic and supplies are limited, so refill your water whenever you can; avoid feeding the monkeys around the tables.

Afternoon — Clifftop Views and Return to Kuching

After lunch, take the Telok Pandan Kecil Trail, allowing 2.5–3 hours for the return hike. It is more exposed than Telok Paku, but the reward is one of Bako National Park’s finest viewpoints: forested headlands, pale coves, and open South China Sea stretching beyond the cliffs. Start no later than 1:00 PM, wear a hat, and carry at least a litre of water per person. Aim to be back at headquarters by 3:00–4:00 PM for your pre-arranged boat; boats may be delayed by tides or weather, and the final road transfer back to Kuching can take another hour. If the sea is rough, follow Sarawak Parks’ instructions rather than insisting on a late coastal departure.

Day 4 · Sat, Sep 12
Kundasang, Sabah, Malaysia

Mountain landscapes in Kundasang

Getting there from Bako National Park, Sarawak, Malaysia
Return by park boat and taxi to Kuching Airport, fly Kuching (KCH) to Kota Kinabalu (BKI) on AirAsia or Malaysia Airlines (~1h, RM150–400), then pre-book a private transfer/rental car via Tamparuli to Kundasang (~2.5–3.5h, RM250–500 transfer or RM150–250/day rental). Take the earliest flight; total journey is roughly 6–8h.
Flight plus shared minivan from Kota Kinabalu to Kundasang (~3–4h, RM40–80), book through local operators; less flexible and often slower.
  1. Kuching to Kota Kinabalu flight and transfer to Kundasang — Kuching Airport–Kota Kinabalu Airport–Kundasang; take an early flight, then travel by rental car or private transfer via Tamparuli, allowing roughly 4–6 hours total.
  2. Tamparuli Suspension Bridge — Tamparuli; pause for a short walk across the historic hanging bridge en route to the highlands, early afternoon, ~30 minutes.
  3. Desa Dairy Farm — Mesilau, Kundasang; see cattle pastures beneath Mount Kinabalu and sample fresh dairy products, afternoon, ~1.5 hours.
  4. Kundasang War Memorial — Kundasang town; visit its landscaped gardens commemorating prisoners of war, late afternoon, ~45 minutes.
  5. Kundasang night market — Kundasang town; choose grilled foods, fruit, and local vegetables for dinner, evening, ~1 hour, approximately RM15–30 per person.

Morning — Through Tamparuli to the Highlands

Take the earliest available flight from Kuching to Kota Kinabalu, then meet your pre-booked driver or collect a rental car at Kota Kinabalu International Airport. Allow roughly 2½–3½ hours for the drive to Kundasang, depending on traffic and the climb into the Crocker Range. Ask the driver to use the Tamparuli route rather than heading directly inland: it makes a useful first stop and breaks up the long transfer. Keep a light jacket within reach—the temperature drops noticeably as you approach the highlands.

Early Afternoon — Tamparuli Suspension Bridge and Desa Dairy Farm

Pause at Tamparuli Suspension Bridge for a short walk across the swaying historic bridge, allowing about 30 minutes. It is best treated as a quick scenic stop rather than a major attraction; wear secure shoes and avoid lingering if rain makes the boards slippery. Continue uphill to Desa Dairy Farm in Mesilau, around 45–60 minutes away. The farm is generally open during daylight hours, but check the current session times before leaving Kota Kinabalu, as access and feeding activities can vary. Allow 1½ hours for the mountain views, cattle pastures, and fresh milk or gelato; cloudy weather is common, so Mount Kinabalu may appear and disappear between the mists.

Late Afternoon and Evening — Gardens, Grilled Food and a Cool Night

Drive down to Kundasang town for the Kundasang War Memorial, usually a quiet late-afternoon visit of about 45 minutes. Its landscaped gardens commemorate the prisoners of war who died during the Sandakan–Kundasang marches; take time to walk through each garden rather than treating it as just a viewpoint. After checking into your accommodation, finish at the Kundasang night market, where stalls typically begin winding down around 8:00–9:00 PM. Choose grilled chicken or seafood, sweet corn, local vegetables, and seasonal fruit—budget around RM15–30 per person. Bring cash and a light rain layer, and confirm the market is operating that evening, as highland weather can affect stall numbers.

Day 5 · Sun, Sep 13
Semporna, Sabah, Malaysia

Island gateway in Semporna

Getting there from Kundasang, Sabah, Malaysia
Private car or rental car via Ranau and Lahad Datu to Semporna (~6–7h, RM450–700 private transfer or RM180–300/day rental plus fuel). Depart by 6:00am to reach Semporna by mid-afternoon.
Drive to Kota Kinabalu Airport, fly to Tawau, then taxi/transfer to Semporna (~5–7h total, RM250–700 depending on flight and transfers). Use only if a suitable morning flight is available; book flights on airline websites and transfers via local operators.
  1. Kundasang to Semporna — Sabah interior to Semporna; take an early private transfer or rental car to Tawau Airport, fly if available, then continue to Semporna, allowing roughly 5–7 hours total.
  2. Semporna Waterfront — Semporna town; orient yourself around the jetty and fishing harbor, late afternoon, ~45 minutes.
  3. Semporna Central Market — Semporna town; browse seafood, tropical produce, and everyday local life, late afternoon, ~1 hour.
  4. Restoran Bismillah — Semporna town; enjoy affordable Malay and seafood dishes before an island excursion, dinner, ~1 hour, approximately RM15–35 per person.
  5. Semporna jetty sunset walk — Town waterfront; watch fishing boats return while preparing for the next day’s boat departure, evening, ~45 minutes.

Morning — From Kundasang to Semporna

Leave Kundasang around 6:00 AM for the long eastbound journey through Ranau and Lahad Datu. A private car is the least stressful option; expect roughly 6–7 hours, with fuel and a private transfer usually costing around RM450–700. Stop for breakfast and fuel early, as services become more spread out after Ranau. If you are driving yourself, avoid arriving after dark—the final approach to Semporna can be busy with trucks and roadworks. Keep your passport, accommodation details, and next-day island booking accessible for check-in.

Late Afternoon — Waterfront and Market

After checking in and dropping your bags, walk straight to the Semporna Waterfront and fishing harbor for an easy orientation. Allow about 45 minutes to watch the jetties come alive with island boats, supply vessels, and returning fishermen. From there, the Semporna Central Market is a short walk inland; spend an hour browsing baskets of tropical fruit, vegetables, dried seafood, and freshly landed fish. It is busiest toward late afternoon, so keep small notes handy and ask before photographing vendors. Wear covered footwear—the market floor can be wet.

Evening — Dinner and Jetty Sunset

Have dinner at Restoran Bismillah, a straightforward local choice for affordable Malay dishes and seafood; budget around RM15–35 per person. Go early, roughly 6:00–7:00 PM, as service can slow when tour groups arrive, and confirm the day’s seafood price before ordering. Afterwards, take a relaxed 45-minute walk along the Semporna jetty as the boats return and the sky softens over the harbor. Before turning in, confirm tomorrow’s boat departure point, pickup time, passenger names, and whether snorkel equipment and marine-park fees are included; island departures commonly begin early.

Day 6 · Mon, Sep 14
Semporna, Sabah, Malaysia

Island day around Semporna

  1. Semporna to Bohey Dulang, Mantabuan and Sibuan islands — Semporna Jetty; join a licensed island-hopping boat early, allowing roughly 8–10 hours including transfers and snorkeling.
  2. Bohey Dulang Island — Tun Sakaran Marine Park; hike to the famous lagoon viewpoint, morning, ~2–3 hours including the climb.
  3. Mantabuan Island — Tun Sakaran Marine Park; snorkel over clear coral gardens and shallow reef, midday, ~1.5 hours.
  4. Sibuan Island — Tun Sakaran Marine Park; swim and relax on a compact white-sand island, afternoon, ~1.5 hours.
  5. Semporna seafood dinner near the jetty — Semporna waterfront; choose a well-reviewed local seafood restaurant for grilled fish or prawns, evening, ~1.5 hours, approximately RM35–80 per person.

Early Morning — Semporna Jetty and the Marine Park

Be at Semporna Jetty around 7:00 AM for your licensed island-hopping boat to Bohey Dulang, Mantabuan, and Sibuan. The full day usually runs 8–10 hours, with shared tours commonly costing about RM180–300 per person, depending on permits, lunch, and equipment. Bring your passport or a copy, reef-safe sunscreen, dry bags, water shoes, and cash; sea conditions can be choppy, so take motion-sickness medicine before departure. Boats and operators may be reorganised according to weather, but confirm that all three islands are included before boarding.

Morning — Bohey Dulang Island

Start at Bohey Dulang Island while the air is cooler, allowing roughly 2–3 hours for the forest climb and viewpoint. The trail is short but steep and can be muddy after rain; sturdy shoes are much better than flip-flops. From the summit, you get the classic view over the turquoise lagoon and scattered islands of Tun Sakaran Marine Park. The viewpoint can become crowded later in the morning, so keep your pace steady and let faster groups pass. Swimming is generally not the focus here—the reward is the panorama—so carry only a small daypack and leave larger bags on the boat.

Midday to Afternoon — Mantabuan Island and Sibuan Island

Continue by boat to Mantabuan Island, where you will spend about 1½ hours snorkeling above shallow coral gardens. Visibility is best when the sea is calm; stay close to your guide, avoid touching coral, and use a flotation vest if currents strengthen. After lunch, head to Sibuan Island for another 1½ hours of swimming and unhurried beach time. It is a compact sand-fringed island rather than a developed resort, so do not expect changing rooms, shops, or reliable phone service. Keep food wrappers and plastic secured, and check tide and departure instructions carefully—the boat schedule is coordinated around sea conditions and the group’s return.

Evening — Seafood by the Semporna Waterfront

You should reach Semporna Jetty around 5:00–6:00 PM, depending on the sea and the number of boats returning. After rinsing off and resting, have dinner near the waterfront at Fish Village Seafood Restaurant or another well-reviewed open-air seafood spot around the jetty. Point to your choice of fish, prawns, or squid and ask for the cooking price before ordering; grilled seafood, vegetables, rice, and drinks usually come to roughly RM35–80 per person. Keep the evening easy after the long day—Semporna’s best moments are often the sunset over the boats and the lively jetty atmosphere rather than another planned attraction.

Day 7 · Tue, Sep 15
Kuala Sepetang, Perak, Malaysia

Mangrove coast in Kuala Sepetang

Getting there from Semporna, Sabah, Malaysia
Pre-book a taxi/transfer from Semporna to Tawau Airport (~1.5h, RM180–300), fly Tawau (TWU) to Kuala Lumpur (KUL) on AirAsia or Malaysia Airlines (~2h40, RM250–700), then rent a car or take a private transfer to Kuala Sepetang (~3.5–4.5h, RM300–600). Take an early flight; this is a full travel day and arrival will likely be late afternoon or evening.
From Kuala Lumpur, take a train to Taiping on KTM ETS (~3.5–4h, RM60–120), then taxi to Kuala Sepetang (~30–40min, RM35–60). This is cheaper but requires coordinating airport-to-station transfers and may arrive later.
  1. Semporna to Tawau Airport and flight to Kuala Lumpur — Semporna–Tawau–Kuala Lumpur; depart early and allow roughly 1.5 hours by road to Tawau Airport plus flight and connection time.
  2. Kuala Lumpur to Kuala Sepetang — Kuala Lumpur–Kuala Sepetang; continue by rental car or private transfer toward Taiping, allowing roughly 3–4 hours depending on traffic.
  3. Kuala Sepetang Charcoal Factory — Kuala Sepetang; see traditional mangrove-wood charcoal production at one of the village’s signature sites, afternoon, ~1 hour.
  4. Matang Mangrove Forest Reserve — Kuala Sepetang; walk a boardwalk through one of Malaysia’s oldest managed mangrove forests, late afternoon, ~1.5 hours.
  5. Kuala Sepetang fishing village and jetty — Kuala Sepetang waterfront; watch boats and mangrove-lined waterways at sunset, evening, ~45 minutes.
  6. Seafood restaurant near Kuala Sepetang jetty — Kuala Sepetang; finish with fresh crab, prawns, or fish in a local waterfront setting, dinner, ~1 hour, approximately RM30–70 per person.

Early Morning & Arrival — Semporna to Kuala Sepetang

Leave Semporna before dawn for Tawau Airport, allowing about 1½ hours by pre-booked car; build in extra time for rural traffic and the airport check-in window. After the flight to Kuala Lumpur, continue north by rental car or private transfer toward Taiping and Kuala Sepetang. This is a demanding travel day, so keep the evening flexible: the final drive usually takes 3–4 hours from Kuala Lumpur, and a train to Taiping followed by a taxi is a useful alternative if timings line up. Expect to arrive in the late afternoon or evening; confirm your accommodation can handle a late check-in.

Afternoon — Charcoal and Mangrove Forest

Once settled, go first to the Kuala Sepetang Charcoal Factory, where mangrove wood is slowly kilned into charcoal using traditional brick ovens. Allow about an hour, and check locally before setting out—opening times can vary, though afternoon visits are usually possible. From there, take a short drive to the Matang Mangrove Forest Reserve for its raised boardwalk and forest trails. Give yourself roughly 1½ hours before closing, and bring insect repellent, water, and shoes that can cope with damp boards; the late-afternoon light is particularly good among the roots and tidal channels. Entry is generally inexpensive, around RM5–15, but confirm the current fee at the reserve.

Evening — Fishing Village Sunset and Seafood

Finish with an unhurried walk around the Kuala Sepetang fishing village and jetty, where small boats return through the mangrove-lined waterways as the sky darkens. It is a simple, atmospheric place rather than a formal attraction, so stay alert around working areas and avoid blocking the jetty. For dinner, choose a seafood restaurant near the Kuala Sepetang jetty and order according to the day’s catch—crab, prawns, and steamed or fried fish are reliable choices. Budget roughly RM30–70 per person; ask for prices by weight before ordering, especially for crab.

When are you going?
Add your start date and we'll check in at two weeks out, one week out, and the day before — bookings, packing, and a day-one brief. Reply to any of them if plans change.
Like this trip? Make your own version.
A free, personalized itinerary in seconds — sign up to save and edit it.
Create my version