Sauté the Base
Heat oil in a large pot or Dutch oven over medium heat. Add onion and garlic, and sauté until translucent.
Add bell peppers, zucchini, and squash. Sauté 5–7 minutes until just softened.
Brown the Protein (if using)
Add ground meat (if using) to the pot and cook until browned. Drain excess fat if needed.
Add Spices & Tomato Paste
Stir in chili powder, paprika, cumin, oregano, and cinnamon. Add tomato paste and stir for 1 minute to toast the spices.
Add Beans & Liquid
Add beans, diced tomatoes (with juice), and broth. Stir well to combine.
Bring to a gentle boil, then reduce heat to low and simmer uncovered for 30–45 minutes, stirring occasionally.
Adjust & Finish
Taste and adjust seasoning — add salt, pepper, chipotle, or vinegar if needed. For thicker chili, simmer longer uncovered.