01 - Preheat the oven to 400°F. Toss butternut squash cubes with half the olive oil and a pinch of salt. Arrange evenly on a baking sheet and roast for 25 to 30 minutes, until the squash is tender and lightly caramelized.
02 - In a large pot over medium heat, warm the remaining olive oil. Sauté the chopped onion, minced garlic, carrot, and apple (if using) for 8 to 10 minutes, stirring occasionally, until softened.
03 - Add the roasted butternut squash to the pot. Pour in the vegetable broth, and stir in the ground nutmeg and optional cinnamon. Bring the mixture to a boil, then reduce the heat and simmer gently for 10 to 15 minutes.
04 - Remove the pot from heat. Blend the soup until smooth using an immersion blender or in batches in a countertop blender, ensuring the mixture is completely pureed.
05 - Stir in the heavy cream or coconut milk. Adjust seasoning with salt, black pepper, and freshly squeezed lemon juice to taste.
06 - Reheat gently if needed. Ladle into bowls and garnish with fresh herbs or a swirl of cream as desired. Serve warm.