Soak beans overnight or for at least a few hours if you have time. This is not totally necessary, but it will reduce the cooking time later. You can skip and go to step 2 if you like. (Throw away that flavor packet that comes with the beans. You won't need it.)
Drain the soaked beans, then put them in a pot with enough water to cover them by about 3 inches, and boil for 20 minutes. Turn off the heat and let the beans sit for 1/2 hour before draining off the muddy-looking water and rinsing the partially cooked beans.
Peel and dice a medium-sized onion, then sauté in 2 tbsp olive oil over low heat for about 5 minutes, until translucent.
Turn up the stove to medium heat and add the drained and rinsed beans, canned tomatoes, broth, cumin, smoked paprika, garlic powder, and a bay leaf, if desired, stirring well.
Simmer the soup at a slow boil, stirring occasionally, for about 45 minutes if you presoaked the beans, or 90 minutes if you didn't.
Add 2 tbsp of balsamic vinegar to the soup pot about 10 minutes before serving.
Notes
How to make vegetarian 15-bean soup in the crockpot
Complete steps 1 and 2 above - soak the beans, then precook them for 20 minutes, draining off the water.
Add the partially cooked beans, broth, tomatoes, oil, diced onion, salt, and spices to a crockpot.
Cook on low for 8 hours or cook on high for 5 hours.
Add balsamic vinegar about 5 minutes before serving.
How to make this vegan bean soup in the Instant Pot
Complete steps 1 and 2 above - soak the beans, then precook them for 20 minutes, draining off the water.
Set your Instant Pot to saute and cook the diced onion in the oil with a sprinkle of salt for about 3-5 minutes.
Add the partially cooked beans, broth, tomatoes, diced, salt, and spices to the instant pot.
Snap on the lid and set to pressure for 25 minutes.
Allow the pressure to come down naturally after cooking.
Add balsamic vinegar about 5 minutes before serving.
Pro Tips for a great soup
Cover your beans with about 4-5 inches of water. They will absorb a lot of water!
You can swap out the crushed tomatoes for diced tomatoes or even spaghetti or pizza sauce if you would like. Fire-roasted tomatoes have a great smoky flavor in this soup, too.
If you don't have balsamic vinegar, you can use apple cider vinegar instead. It may seem a little weird, but the vinegar adds a delicious, well-rounded flavor to the broth.
Add-ins
A can of green chiles is also a delicious addition to this soup.
Sprinkle it with vegan bacon bits for a meaty ham flavor without meat.
Add in some delicious homemade vegan sour cream for a creamier soup!
Dice up some homemade vegan ham and add it to your soup!