Heat a large Dutch oven over medium-high heat. Add 1 tablespoon of olive oil, then add the Italian sausage, breaking it into smaller pieces with a wooden spoon as it cooks. Brown for about 5-7 minutes until no longer pink. If there's excess fat, drain all but 1 tablespoon.
Add the remaining tablespoon of olive oil along with the diced onion, carrots, and celery. Cook for about 5 minutes until the vegetables begin to soften, stirring occasionally.
Add the minced garlic, tomato paste, dried rosemary, dried thyme, and red pepper flakes (if using). Cook for another minute until fragrant, stirring constantly to prevent the garlic from burning.
Pour in the white wine (if using) and scrape up any browned bits from the bottom of the pot—those bits are pure flavor! Let the wine simmer for about 2 minutes until slightly reduced.
Add the drained and rinsed cannellini beans, chicken broth, bay leaf, and Parmesan rind (if using). Bring to a boil, then reduce heat to maintain a gentle simmer.
Partially cover the pot and simmer for about 15-20 minutes, allowing the flavors to meld and the stew to thicken slightly.
Use the back of your spoon to mash some of the beans against the side of the pot. This will release their starch and help thicken the stew even more.
Stir in the chopped kale or spinach and continue cooking for another 3-5 minutes until the greens are wilted but still bright.
Remove from heat and stir in the fresh lemon juice. Taste and adjust seasoning with salt and pepper as needed.
Discard the bay leaf and Parmesan rind (if used).
Ladle the stew into bowls and top with chopped parsley and grated Parmesan cheese. Serve with crusty bread for dipping.