This is how I do bean soups:
First I soak the beans over night, then I put them in a pot with their soaking liquid, bring it to a boil, skim any foam, reduce to a low simmer and cook until the beans are tender and most of the water has been absorbed (about an hour). They should be slightly dry and not yet soupy. Sometimes I add a ham hock or a Parmesan cheese rind and/or a bay leaf or two to flavor the beans while they simmer. Then I remove anything added, season the beans and mash them lightly leaving some whole.
In a separate pan, I saute (in olive oil) whatever I am adding to the bean soup. Tonight it's a sturdy bunch of organic lacinato kale, sweet shallots, lots of garlic, garden carrots, and celery. I cook the veggies until they are crisp-tender, then I season them as well.
To the bean pot I add more water or broth (3-4 cups) to make them soupy or as in the case of tonight, 3/4 of a box of no-chicken broth, then I dump the sauteed veggies into the soup, heat through, and serve. Don't cook too long or the kale (or spinach or chard or whatever you are using) will loose its deep green color.
Tonight's bean soup will be served with a a sprinkling of chopped fresh rosemary, a drizzle of special olive oil, and for the kids, a shaving of pecorino romano, but it's also wonderful topped with freshly toasted bread crumbs or caramelized onions or even a splash of sherry vinegar. You can even add a cup or two of al dente cooked short pasta to the soup for a warming bowl of pasta e fagioli. I love how verstile bean soups can be, whether "meatful" or vegan, it's always tasty.
Once the beans are soaked, the soup comes together fairly quickly. It's done in about 2 hours (about an hour to cook the beans + 15-20 minutes to saute the veggies), but you don't have to watch the pot every minute. Enjoy!