Heat olive oil in a large soup pot over medium heat. Add the sausage and break it up with a wooden spoon. Cook until browned and fully cooked, about 7–8 minutes. Remove sausage with a slotted spoon and set aside, leaving some fat in the pot for flavor.
Add the diced onion to the pot and sauté for 4–5 minutes, until softened and translucent. Stir in the garlic, smoked paprika, thyme, nutmeg, and red pepper flakes (if using). Cook for another 1–2 minutes until fragrant.
Stir in the pumpkin puree and pour in the chicken broth. Whisk well to combine everything into a smooth consistency. Bring the mixture to a gentle boil, then reduce the heat to a simmer.
For a silky-smooth texture, use an immersion blender to puree the soup right in the pot. If you prefer a chunkier consistency, you can skip this step or only partially blend. If using a countertop blender, blend in batches and return to the pot.
Pour in the heavy cream (or coconut milk) and stir well. Add the cooked sausage back into the soup and let everything simmer together for about 5–10 minutes so the flavors meld.
If using chopped kale or spinach, stir it in during the last few minutes of cooking until wilted. Taste the soup and adjust seasoning with salt and pepper as needed. Serve hot with your favorite toppings.