Malindi: Kenya's Portuguese Heritage Coastal Town
Guide to Malindi — Vasco da Gama pillar, marine park, beaches, and using Malindi as a base for Watamu and Gede Ruins on Kenya's north coast.
Malindi is one of Kenya’s oldest coastal settlements — a Swahili trading town that hosted Vasco da Gama in 1498 when the Portuguese navigator stopped to take on provisions and hire a pilot for the onward voyage to India. Today it combines Portuguese heritage, a large Italian expatriate community (unusual enough in East Africa to be genuinely remarkable), a beach resort strip, and a functioning fishing harbour.
The town sits 120km north of Mombasa on the Kenya coast and serves as a practical base for exploring the north coast: Watamu (15km south), Gede Ruins (20km south), and the broader Malindi–Watamu biosphere reserve.
Getting There
By air: AirKenya and Safarilink fly from Nairobi Wilson Airport daily (approximately 1 hour, from KES 5,000 one way). Malindi Airport is 3km southwest of the town centre — taxis cost approximately KES 400–600.
From Mombasa: 120km north by road — approximately 2 hours. Matatus leave regularly from Mombasa’s Mwembe Tayari stage (KES 300). Taxis or pre-booked transfers cost approximately KES 2,500–4,000.
From Watamu: 15km north, 20 minutes by matatu (KES 50–100) or taxi (KES 400–600).
From Lamu: 150km south via the B8 road — approximately 3 hours (road conditions and season dependent).
Heritage Sites
Vasco da Gama Pillar — a coral limestone pillar with an iron cross on top, erected by Portuguese sailors in 1498 at the spot where Vasco da Gama anchored. One of the oldest European monuments still standing in its original location in Africa. The pillar stands on a rocky headland at the southern end of town with views over the Indian Ocean. Entry approximately KES 300 (combined ticket with Malindi Museum available). Open daily 8am–6pm.
Malindi Museum — housed in a restored early 20th-century trading house near the Vasco da Gama Pillar. Covers the town’s layered history — Arab trading routes, Swahili civilisation, Portuguese encounter, Omani influence, and British colonial period. Well-curated for a regional museum. Entry approximately KES 300.
Old Mosque (Jama Mosque) — Malindi’s historic Friday mosque, still in active use. The original structure dates from the 15th century. Visitors may enter outside prayer times with appropriate dress (shoulders and knees covered, shoes removed). Entry is free with a respectful attitude.
Marine Park and Beach
Malindi Marine National Park and Reserve — the protected reef extends offshore from the Malindi seafront. Glass-bottom boat trips to the coral gardens depart from the beach (KES 1,500–2,500 per person, typically 1.5–2 hours). The park also covers nesting turtle beaches north of town. Snorkelling can be arranged from glass-bottom boats or directly from the beach.
Water clarity: The Galana (Sabaki) River discharges sediment offshore from Malindi, which can cloud visibility — particularly after heavy rains. Conditions are generally better at Watamu (15km south) which is away from the river plume.
Malindi Beach: The main beach stretches several kilometres along the seafront north of the town centre. Wide, relatively clean, and less crowded than Diani. The northern end near the resort hotels has the best swimming conditions. Beach vendors and touts are persistent here — more so than at Watamu or Diani.
Gede Ruins (Day Trip)
The abandoned 13th–17th century Swahili city of Gede is 20km south of Malindi at Watamu. At its height Gede was a prosperous trading city of several thousand people, trading with China, India, and the Persian Gulf. The ruins include a palace, multiple mosques, merchant houses, a network of streets, and forest that has grown through the stone buildings. Sea birds nest in the ruins. Entry approximately KES 500. Guided tours available. A taxi from Malindi costs approximately KES 800–1,200 return including waiting time. Open daily 7am–6pm.
Where to Eat
Italian restaurants: Malindi’s large Italian community has produced a genuine Italian restaurant scene for a Kenyan coastal town — unusual and worth exploring. Baobab Café, I Love Pizza, and several beachfront trattorias serve solid Italian food at approximately KES 800–2,500 per person.
Seafood: Fresh fish is excellent in Malindi. Jahazi Hotel (Old Town waterfront area) and Driftwood Beach Club are reliable options for grilled seafood and Swahili coastal dishes (KES 800–2,500 per main course).
Budget: Local restaurants near the town centre market area serve ugali, pilau, and grilled fish at KES 200–500. The morning market has fresh fish for sale from 6–9am.
Where to Stay
Mid-range (KES 7,000–16,000/night): Sandies Tropical Village is a well-established beach hotel north of the town centre with a reliable standard of facilities. African Pearl Hotel near Old Town is a functional mid-range option closer to the heritage sites.
Upmarket: Che Shale is a boutique camp 25km north of Malindi on a deserted beach strip — thatched cottages, private stretch of beach, from approximately USD 200/night.
Budget (KES 2,500–5,000/night): Driftwood Beach Club has budget-friendly rooms alongside their restaurant, directly on the beach. Several guesthouses in the town centre offer basic rooms.
Practical Information
Italian community: Malindi has the largest Italian community of any Kenyan town — the Italian connection dates to the 1970s beach tourism era. This means unusually good Italian food, Italian-owned boutique hotels, and Italian signage throughout the resort area.
Safety: Malindi’s tourist areas are generally safe. The town centre can feel chaotic compared to Watamu. Use standard precautions with valuables.
Climate: Hot and humid year-round (28–34°C). Best weather December–March and July–October. Long rains April–June; short rains October–November.
Malaria: Prophylaxis recommended for the coast.
Combining Malindi with Watamu: With 15km separating them, Malindi and Watamu work well as a combined 4–5 day stay. Malindi for the heritage sites; Watamu for the cleaner marine park and turtle programme. A matatu between them costs KES 50–100.
Upcoming Events in Malindi
Rhino Charge
Annual off-road motorsport event raising funds for Rhino Ark Kenya — competitive teams navigate 100km of challenging bush terrain.