Place the dried beans in a large bowl and cover with several inches of water.
Let them soak overnight, or for at least 8 hours.
Drain and rinse before cooking.
In a large pot or Dutch oven, heat the olive oil over medium heat.
Add the chopped onion and bell pepper, sautéing until the onion is soft and translucent, about 8-10 minutes.
While the vegetables cook, create a garlic paste by mashing the minced garlic, sea salt, and black pepper together with a mortar and pestle or the flat side of a chef's knife.
Stir the garlic paste into the pot with the onions and peppers.
Cook for another 1-2 minutes until fragrant, being careful not to let the garlic brown.
Add the drained beans, vegetable broth, 1 cup / 240 ml of water, cumin, oregano, and the bay leaf to the pot.
Stir to combine.
Bring the mixture to a boil, then reduce the heat to a low simmer.
Cover the pot with the lid slightly ajar and cook for about 1. 5 hours, or until the beans are tender. Skim any foam from the surface as needed.
Check the beans occasionally. If the liquid reduces too much, add water in ½ cup / 120 ml (4.1 fl oz) increments to keep the beans submerged. The final consistency should be thick, not watery.
Once the beans are tender, remove and discard the bay leaf. Carefully transfer 1 cup / 240 ml of the beans (with some liquid) to a blender or food processor and blend until smooth.
Pour the blended bean puree back into the pot.
Stir in the balsamic vinegar and fresh lime juice.
Cover the pot, remove it from the heat, and let it stand for 10 minutes to allow the flavors to meld.
Taste and adjust seasoning with more salt, pepper, or lime juice if desired before serving.
Don't have a mortar and pestle? You can easily make the garlic paste by pressing the minced garlic and salt together with the flat side of a chef's knife on your cutting board.
In a hurry? Use a quick-soak method for the beans: cover them with water in a pot, bring to a boil for 2 minutes, then remove from heat, cover, and let stand for 1 hour before draining.