1. Prep the beans: If using dried beans, soak them overnight in water. Drain and rinse before cooking.
2. Start the base: Heat oil in a pot. Fry the onion until soft, then add garlic and cook for about 1 minute.
3. Add meat (optional): If using bones, beef, or bacon, add now and brown slightly for extra flavour.
4. Build the soup: Add beans, tomatoes, carrots, potatoes, cabbage, spices, and stock cubes.
5. Simmer: Pour in water, bring to a boil, then reduce heat and simmer for about 1.5–2 hours (until beans are soft).If using canned beans, only simmer for about 30–40 minutes.
6. Adjust texture: Mash some of the beans against the side of the pot to thicken the soup.
7. Season and serve: Taste and adjust salt and pepper. Serve hot with bread.