Soak and cook beans in 3-4 cups of water for 30-60 minutes. As they cook, prepare veggies.
In a large pot or dutch oven, heat olive oil and add onions. Cook until translucent, adding salt and pepper.
Add carrot, celery and garlic and cook another 2-3 minutes, stirring occasionally.
Add broccoli and cauliflower and cook for another minute, stirring occasionally.
Add simmering beans and all their liquid to the large pot, along with the chicken or veggie broth.
Bring just to a boil, then reduce heat and simmer, partially covered for at least 1 hour, and preferably 2-3.
Season with additional salt, pepper, and cayenne pepper.
About 30 minutes before serving, stir in the chopped fresh sage leaves.