Heat a large pot over medium-high heat. Add the sausage, breaking it into crumbles as it cooks. Stir occasionally for even browning. Once cooked, remove it with a slotted spoon, leaving some drippings behind for extra flavor.
Using the same pot, toss in the onion, garlic, carrots, and celery. Cook them on medium heat until the onion turns translucent and the veggies soften. This step creates the aromatic base that makes the whole dish pop with flavor.
Return the cooked sausage to the pot. Stir in the cannellini beans, chicken broth, thyme, rosemary, salt, and pepper. Bring it all to a gentle boil, then reduce the heat. Cover the pot and simmer for 15–20 minutes to allow the flavors to fully meld.
Stir in the fresh spinach, letting it wilt into the soup. Pour in the heavy cream and gently mix until the broth becomes luxuriously creamy. At this point, your soup is nearly ready to serve!
Ladle the soup into bowls, and top with grated Parmesan and freshly chopped parsley. Serve hot with crusty bread on the side for the ultimate cozy meal.