Heat the butter or olive oil in a large pot over medium heat. Add the chopped leek along with a pinch of salt and pepper. Cook for about 3 minutes, stirring occasionally, until softened and aromatic.
Stir in the garlic, cinnamon, chili powder, nutmeg, and bay leaf. Cook briefly, about 30 seconds, until fragrant.
Add the sweet potatoes and season them lightly with salt and pepper. Toss to coat the sweet potatoes in the spices.
Pour in the chicken or vegetable broth along with water. Bring the mixture to a boil, then reduce the heat to a simmer. Let it cook for 10-15 minutes, or until the sweet potatoes are tender.
Remove the bay leaf, then carefully blend the soup using a hand blender or transfer it to a regular blender in batches. Blend until smooth, adding extra water or broth if needed to reach your desired consistency.
Taste and adjust the seasoning with additional salt, pepper, or spices. For an extra creamy finish, swirl in a bit of heavy cream or coconut cream.
Serve warm, garnished with chopped toasted pecans or pumpkin seeds, if you'd like.