Warm the pot: Set a large pot or Dutch oven over medium heat.
Add 1–2 tablespoons of oil and let it heat until it shimmers.
Sauté the aromatics: Add the diced onion and bell pepper. Cook, stirring often, until softened and lightly golden, about 5–7 minutes. Add the garlic and cook 30 seconds more, just until fragrant.
Bloom the spices: Sprinkle in the chili powder, cumin, smoked paprika, and cayenne.
Stir for 30–60 seconds. This step wakes up the spices and builds flavor fast.
Add tomatoes and liquid: Pour in the diced tomatoes and tomato sauce. Add broth or water to reach your desired thickness.
Stir to combine.
Season and sweeten: Add salt, black pepper, and the brown sugar or maple syrup if using. Taste the liquid; it should be robust and a touch spicy.
Stir in the beans: Add the rinsed beans. If using green chiles, corn, hot sauce, or a pinch of cocoa powder, add them now.
Simmer: Bring to a gentle simmer.
Reduce heat to low and cook uncovered for 15–25 minutes, stirring occasionally. Add a splash more liquid if it gets too thick.
Finish with acid: Off the heat, stir in the vinegar or lime juice. This brightens the flavor.
Taste and adjust salt, pepper, or heat as needed.
Serve: Ladle into bowls and add your favorite toppings. It’s great with warm cornbread, rice, or tortilla chips.