Heat a large pot over medium-high heat and crumble the sausage into it while cooking. Stir occasionally, allowing it to brown on all sides. Once fully cooked, remove the sausage but leave some of the flavorful drippings behind.
Add chopped onion, garlic, diced carrots, and celery to the same pot. Sauté them over medium heat until the onions are translucent and the vegetables have softened. This step creates a rich aromatic base for your soup.
Toss the cooked sausage back into the pot. Add cannellini beans, chicken broth, thyme, rosemary, salt, and pepper. Bring the mixture to a boil, then reduce the heat to a simmer. Cover and cook for 15-20 minutes so the flavors meld beautifully.
Stir in the fresh spinach. Watch it wilt as it incorporates into the soup. Then, pour in the heavy cream and stir until everything blends into a smooth, creamy texture.
Ladle the soup into bowls and finish with a sprinkle of grated Parmesan cheese and chopped parsley. Serve it warm and enjoy the cozy, comforting flavors with your favorite side of crusty bread!