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 and put them in a pot with enough water to cover them with about 3 inches of water 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 in 2 tbsp of olive oil over low heat for about 5 minutes until the onion becomes translucent.
Turn up the stove to medium heat and add the drained and rinsed beans, canned tomato, broth, cumin, smoked paprika, garlic powder, and a bay leaf if desired, and stir 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 presoak the beans.
Add 2 tbsp of balsamic vinegar to the pot of soup 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 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 smokey 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 gives the broth a delicious well-rounded flavor.
Add-ins
A can of green chiles is also a delicious addition to this soup.
Sprinkle it with some vegan bacon bits for that meaty ham taste without adding 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!