Heat a large Dutch oven or soup pot over medium-high heat. Add the Italian sausage and cook for 6 to 8 minutes, breaking it apart with a wooden spoon, until browned and fully cooked.
If the sausage releases a large amount of grease, carefully remove most of it, leaving about 1 tablespoon in the pot. If using lean turkey sausage and the pot is dry, add 1 tablespoon olive oil.
Add the diced onion and cook for 4 to 5 minutes, stirring occasionally, until soft and translucent.
Add the minced garlic, smoked paprika, dried thyme, red pepper flakes, black pepper, and salt. Cook for 30 seconds, stirring constantly, until fragrant.
Add the cubed sweet potatoes and chicken broth. Use a wooden spoon to scrape any browned bits from the bottom of the pot.
Bring the soup to a gentle boil. Reduce the heat to medium-low, partially cover the pot, and simmer for 15 to 18 minutes, until the sweet potatoes are fork-tender.
For a thicker soup, mash some of the sweet potato cubes against the side of the pot with a potato masher or blend a small portion with an immersion blender.
Stir in the chopped kale and cook for 5 to 7 minutes, until wilted and tender. If using spinach instead of kale, add it during the final 1 to 2 minutes.
Reduce the heat to low. Stir in the heavy cream or full-fat coconut milk and warm gently for 2 to 3 minutes. Do not boil vigorously after adding the cream.
Taste and adjust the salt, black pepper, and red pepper flakes. Serve warm with grated Parmesan, fresh parsley, or crusty bread if desired.