Prepare the butternut squash: Start by peeling the squash with a vegetable peeler, then cut it in half, scoop out the seeds, and chop it into cubes.
Sauté the aromatics: Heat the olive oil or butter in a large pot over medium heat. Add the chopped onion, garlic, and carrot. Sauté for about 3-5 minutes until the onion becomes soft and translucent.
Add the butternut squash and apple: Stir in the chopped butternut squash and apple, cooking for another 3 minutes. This helps bring out their natural sweetness.
Season and add broth: Sprinkle in the salt, pepper, cinnamon, and nutmeg (if using). Pour in the vegetable or chicken broth, ensuring the vegetables are fully submerged. Bring the mixture to a gentle boil.
Simmer: Reduce the heat to low, cover the pot, and let the soup simmer for about 20-25 minutes, or until the butternut squash is very soft and can be easily mashed with a fork.
Blend the soup: Turn off the heat and carefully blend the soup using an immersion blender directly in the pot. If using a regular blender, let the soup cool slightly before blending in batches. Blend until completely smooth.
Add creaminess (optional): Stir in the coconut milk or heavy cream for extra richness. Taste and adjust seasoning if needed.
Serve and enjoy: Ladle the soup into bowls and garnish with your favorite toppings like roasted pumpkin seeds, parsley, or a drizzle of cream. Serve warm with crusty bread for a complete meal.