Heat olive oil in a large pot over medium-high heat. Add Italian sausage and crumble until browned and crackling, about 5–7 minutes.
Add diced onion, carrots, and celery. Sauté until the onion is translucent and vegetables soften, about 5 minutes.
Stir in minced garlic and cook until fragrant, about 30 seconds.
Pour in chicken broth and water. Bring to a gentle simmer.
Add cannellini beans and simmer for 5 minutes to meld flavors.
Stir in chopped kale and cook until wilted, about 2 minutes.
Finishing Touches
Reduce heat to low. Stir in heavy cream and Parmesan cheese. Simmer until cheese is melted and the soup is glossy, about 2–3 minutes.
Season with salt and pepper to taste. Serve hot.
Notes
During testing, browning the sausage in batches helped achieve a crispier texture and prevented steaming.Whisking the cream into the soup off heat kept the broth from splitting and maintained a silky finish.Leftover soup stored overnight in the fridge developed deeper flavors and a richer mouthfeel.