Heat your Dutch oven over medium-high heat. Add a small drizzle of olive oil, then add the Italian sausage, breaking it into chunks with a wooden spoon. Cook until browned and crispy in spots, about 5-7 minutes. Don't rush this step—those browned bits are flavor bombs!
Transfer the cooked sausage to a paper towel-lined plate, leaving the flavorful fat in the pot. If there's excessive fat, you can pour some off, but leave about 1 tablespoon.
Add the olive oil to the pot along with the diced onion, carrots, and celery. Cook until the vegetables begin to soften, about 5 minutes, stirring occasionally. This is your flavor foundation, so give it the time it deserves.
Stir in the garlic, oregano, and red pepper flakes (if using). Cook for just 30 seconds until fragrant. Garlic burns quickly, so keep an eye on it!
Pour in the white wine (if using) and scrape up all those delicious browned bits from the bottom of the pot. Let it simmer for about 2 minutes until slightly reduced.
Add the cannellini beans, chicken broth, Parmesan rind, bay leaf, and rosemary. Return the cooked sausage to the pot and give everything a good stir.
Bring to a boil, then reduce heat to maintain a gentle simmer. Cover partially with a lid and let it cook for about 20 minutes, stirring occasionally.
After 20 minutes, use the back of your spoon to mash some of the beans against the side of the pot. This will release their starchy goodness and thicken the soup. Leave plenty of beans whole for texture contrast.
Stir in the chopped kale or spinach and continue simmering uncovered for another 5 minutes until the greens are wilted and tender.
Remove from heat and discard the bay leaf and Parmesan rind. Stir in the fresh lemon juice, which brightens all the flavors.
Taste and adjust the seasoning with salt and pepper. Remember that Parmesan and sausage are already salty, so add gradually.
Ladle into bowls and top with grated Parmesan, fresh parsley, and a drizzle of good olive oil.