PREP. Gather all ingredients, measure, clean, and chop. Mise en place ("Everything in place").
HEAT. Pour oil in a Dutch oven or large heavy pot over medium-high heat. Add the onion and sauté, stirring often, until the onion is soft and translucent, about 5 minutes.
COMBINE. Add the garlic and sauté for 1 minute. Add the spices: chili powder, cumin, cinnamon, nutmeg, all-spice, cloves, thyme, salt and pepper and stir until well mixed.
BOIL. Mix in the tomatoes, beans, broth, and water. Add remaining ingredients celery, peppers, and corn. Bring to a boil, then reduce the heat, cover, and simmer, stirring occasionally. Let simmer on low for 30-40 minutes.
TASTE. Stir in juice of one lime and adjust seasonings to your liking.
GARNISH. Top with cilantro, avocado, and jalapeños, if desired.