Heat the olive oil in a medium Dutch oven or soup pot over medium-high heat. When the oil is hot and shimmering, add the sausage and cook for 5 to 6 minutes, stirring and breaking up the meat into smaller pieces with a spatula, until lightly browned.
Reduce the heat to medium and add the onion and garlic. Cook for about 4 minutes or until the onion is soft and translucent. Be very careful not to burn the garlic! If you notice it browning, reduce the heat immediately.
Add ½ cup of broth to the pan (we’re deglazing!), making sure to scrape up any delicious browned bits from the bottom of the pan. Add the dried oregano, crushed red pepper (if using), and half of the beans to the pot along with another 1½ cups of broth. Bring to a simmer.
Meanwhile, blend the remaining beans and 1 cup of broth in a blender until smooth. Pour the bean puree into the pot, and return the soup to a simmer. Simmer, uncovered, for about 15 to 20 minutes to allow the flavors to combine and the soup to thicken slightly.
Stir in the balsamic, then add the spinach or kale. Cook for about 1 minute, just until the greens have wilted. Taste the soup and season with salt and pepper if needed. (Sodium in sausage, beans, and broth vary greatly, so you may not need any, or you may need quite a bit.)
Ladle soup into bowls and serve topped with fresh herbs and/or Parmesan if you like.