In a large saucepan, add crumbled Italian sausage, chopped onion, minced garlic, Italian seasoning, a generous amount of fresh thyme leaves (no sprigs), and red pepper flakes.
Cook on medium heat, stirring regularly to break up the sausage, for about 5 minutes, until the onion softens and starts to lightly brown.
Stir in chopped carrots and half of the white beans (rinsed and drained).
Pour in 4 cups of chicken stock, stir well, cover with a lid, and bring to a boil.
Reduce to a visible simmer and cook for about 15 to 20 minutes until the carrots are tender.
Add spinach and the remaining half of the white beans (rinsed and drained) to the pot. Cover with the lid and let the spinach wilt on low heat, stirring occasionally.
OPTIONAL: If you prefer a thicker soup texture, transfer the remaining half of the white beans with a ladle of the soup liquid (minus the sausage) in a regular blender and blend it there. Alternatively, for a chunkier texture, transfer the second half of the beans and a ladle of soup (with no sausage) to a medium bowl and mash them with a fork.
Then, add blended beans back into the cooking pot, together with fresh spinach, cover with the lid, and let the spinach wilt on low heat.
Once the spinach has wilted, remove the soup from heat and stir in the heavy cream.
Adjust the consistency by adding more chicken stock (or water) if the soup is too dense, or more cream for extra creaminess.
Season with salt, pepper, and additional red pepper flakes if desired. Top with fresh thyme before serving.
