Melt butter in Dutch oven or large saucepan. Add onion and sauté without browning about 5 minutes. Add celery and sauté 5 minutes. Add ginger and bay leaves and sweet potatoes. Sauté for 5 minutes. Add water, stir to combine, cover, bring to a boil, reduce heat to a simmer, cover and let cook 20 minutes.
Check sweet potatoes for doneness. They should be tender and mash easily. Remove bay leaves and using an immersion blender, purée. You can also purée in batches in a blender or food processer. Or you can use a potato masher if you prefer a chunkier texture.
Add heavy cream or coconut milk, stirring to combine and heating for a minute or two. At this point you can cool to room temperature if serving later and refrigerate. Reheat over medium heat. Ladle into serving dishes, squeeze lemon juice on each serving, garnish with lemon slices and serve.