01 -
Heat olive oil in a large pot or Dutch oven over medium heat. Add onion and cook for 4–5 minutes until softened.
02 -
Stir in garlic and cook for 1 minute. Add ground beef and cook until browned, breaking it apart with a spoon. Drain excess fat if needed.
03 -
Stir in tomato paste, chili powder, cumin, paprika, oregano, salt, pepper, and cayenne (if using). Cook for 2 minutes to bloom the spices.
04 -
Add beans, crushed tomatoes, and beef broth. Stir well and bring to a simmer.
05 -
Reduce heat to low, cover partially, and let simmer for 30–40 minutes, stirring occasionally.
06 -
Adjust seasoning to taste before serving.