Flying is by far the best way to reach Lamu. There are flights from Nairobi, Mombasa, and Malindi. Flights from Malindi are short and reasonably priced. The airstrip is on Manda Island; from there, a short boat ride takes you to Lamu town.
It is possible to take a dhow from Malindi by sea, but the trip can take over 12 hours and is not recommended. The dirt road from Malindi is occasionally passable but has historically had security concerns — check current conditions before attempting the drive.