Soak beans overnight in water. Rinse well. Place in a large stock pot.
Heat olive oil in a skillet over medium high heat. Add the vegetables and garlic. Saute until tender. Add to the stock pot.
Stir in the chicken stock, diced tomatoes, and spices. Bring to a boil and then reduce heat to medium. Simmer over medium heat, covered, for two hours or until the beans are tender. If the liquid level evaporates below the beans, add water as needed.
Adjust salt and pepper to your preference. Serve alone, over rice, or with cooked pasta.
To reduce cooking time, use canned beans (drained and rinsed.) This recipe can also be prepared in the slow cooker for 8 hours on low.