Pick out any rocks or blemishes that might be in the beans. Rinse and soak beans overnight in cold water and baking soda. Make sure there is enough water to cover the beans once they swell up.
Rinse beans thoroughly, place in a large stockpot. Fill stockpot with water to cover the beans with about 6 inches of water overhead.
Bring beans to a boil. Remove from heat. Cover the pot for 1 hour. Using a colander, drain and rinse the beans thoroughly.
Sautee the onions and garlic together in olive oil on medium heat for 5 minutes, or until the onions are translucent and slightly golden brown.
Transfer the beans back into the pot with the sautéed onions and garlic. Add the vegetable or chicken broth and 1 cup of water. Add the rest of the ingredients. Stir and cover.
Bring beans to a boil on high heat. Once they begin to boil, reduce heat to low and cook for 1 to 2 hours or until beans are tender and have absorbed the flavors from the broth and seasonings.
Serve over cooked rice. Our favorite rice to serve it with is Jasmin rice.