Depart Belait, Brunei very early, around 4:30 AM, for the long cross-border drive up to Kota Kinabalu via the Pan Borneo Highway. This is one of those journeys where an early start really pays off: you’ll be dealing with immigration at the border, a few stop-and-go stretches, and enough road time that breakfast should probably be a packed one. In a good run, the drive takes about 8–10 hours total, but queues at immigration can stretch it, so the goal is simply to get to Horizon Hotel by late afternoon without rushing. Keep your passport, vehicle documents, and any pre-arranged entry papers ready at hand so border stops feel smooth.
Once you’ve checked in and freshened up, head to Suria Sabah Shopping Mall for an easy first wander. It’s a handy spot right by the waterfront, so you get air-conditioning, a bit of retail therapy, and a clean first look at the city without having to travel far. A taxi or Grab from Horizon Hotel is the easiest option, usually just a short ride and roughly MYR 6–15 depending on traffic. You can browse the lower floors for essentials, grab a coffee, and enjoy the harbour views from the mall area before moving on. After that, take a slow walk around the Kota Kinabalu City Waterfront. This is one of the nicest places to reset after a long drive — sea breeze, open views, and a relaxed evening crowd. It’s best around golden hour, when the light softens and the promenade feels lively but not hectic.
From the waterfront, continue to Gaya Street Night Market once the stalls are fully set up. On market nights, this is a classic KK experience: snacks, souvenirs, local crafts, and the kind of casual street-food energy that makes you want to just keep strolling. Go with a flexible appetite and about MYR 20–40 for snacks, drinks, and small bites. After you’ve had your fill of browsing, make your way to Welcome Seafood Restaurant in Asia City for dinner. It’s one of the safest bets in town for a proper Sabah seafood meal — think chilli crab, butter prawns, gonggong, steamed fish, and salted egg squid. Expect around MYR 60–120 per person depending on what you order, and it’s worth arriving a little before peak dinner rush if you want a shorter wait. After dinner, if you still have energy, you can take a gentle walk back toward the hotel or simply call it a night and rest up for the next day’s mountain run.
Set off from Kota Kinabalu early so you can keep this mountain day relaxed and scenic rather than rushed — if you leave around 7:00 AM, you’ll usually reach Tamparuli Suspension Bridge in about an hour, depending on traffic out of the city. It’s a quick 20–30 minute stop, but worth it for the classic photo and a proper local-feeling breakfast break; the roadside stalls nearby are best for kuih, fried noodles, and a cup of hot coffee or tea, usually around MYR 5–15. From there, continue up to Nabalu Market for another 30–45 minutes to stretch your legs, browse mountain produce, and grab snacks like tuaran mee chips, fresh corn, fruit, or a packet of local kuih for the road.
By late morning, head on to Desa Cattle Dairy Farm in Mesilau / Kundasang — it’s the most postcard-worthy stop of the day and usually takes 1–1.5 hours if you want time for photos, a drink, and the dairy products. Expect an entry fee of roughly MYR 5–10 per person, with extra charges for things like milk, soft serve, or feeding animals. After that, go straight to Kinabalu Park for the cooler, greener part of the day; this is where the mountain air really settles in, and a slow 1.5–2 hour visit works well if you do the short trails, visitor center, and a few scenic stops without overdoing it. Bring a light jacket and comfortable shoes — even if it’s sunny earlier, Kundasang weather can turn misty fast.
After Kinabalu Park, make a lighter stop at Arnab Village Kundasang for about 45 minutes — it’s an easy, low-effort break that works nicely before hotel check-in, especially if you want something calm after a lot of driving and walking. Once you’ve checked in at The Hill, keep the rest of the afternoon flexible for a rest, a hot shower, or a little wander around Kundasang town if you still have energy. For dinner, go for a local steamboat place in town — this is the right place for it, because the chilly mountain evening makes the broth and hotpot feel especially good. Expect around MYR 35–70 per person, and if you’re coming by car, it’s easiest to just stay in the town area for the evening rather than driving farther out.
Start with Kundasang War Memorial around 8:00 AM, while the air is still cool and the mountain views are usually clearest. It’s a short, meaningful stop — give yourself about 45 minutes to walk the gardens, read the plaques, and take in the landscaped grounds and the surrounding highland scenery. Entry is usually a small fee, and it’s an easy visit before the day gets warmer. From there, continue down the route toward Poring Hot Springs in Ranau district; the drive is straightforward but do leave a little buffer for slower mountain traffic and roadside photo stops.
At Poring Hot Springs, plan for about 1.5 to 2 hours so you can do a proper slow stop rather than rush through. The hot pools are the main draw, but the forest setting is what makes it feel like a real break in the day — good for stretching your legs after Kundasang. If you’re hungry, simple local lunch spots nearby usually serve fried noodles, rice dishes, and hot coffee; expect around MYR 15–30 per person. Keep things light, because you’ll want to stay comfortable for the drive back to KK. After lunch, head back toward the city via Route 22 / Pan Borneo Highway, aiming to arrive in Kota Kinabalu by mid to late afternoon.
Once you reach the city, stop at Jesselton Point Waterfront first. It’s a nice reset after the mountain road, and it sets the mood for your last night in KK — sea breeze, boat activity, and a clean waterfront walk. Spend 30–45 minutes here before heading uphill to Signal Hill Observatory Platform for a quick panoramic view over the city, Gaya Street, and the islands offshore. Late afternoon is the best timing because the light is softer and the heat is less intense; parking near the top is limited, so a Grab or taxi is usually easier than self-parking. For dinner, stay convenient and head back toward the Jesselton Quay / waterfront area for an izakaya or seafood dinner near Jesselton Quay — a good, unfussy choice is the surrounding waterfront restaurants where fresh fish, prawns, butter clams, and grilled squid usually run about MYR 60–120 per person depending on how much seafood you order. If you’re leaving for Belait, Brunei tonight, the sensible move is to eat early and depart after dinner; otherwise, use the evening to pack, stroll a little, and get to bed early so the next day’s travel feels easier.