Heat the olive oil in a large pot over medium heat.
Add the chopped onion, garlic, and bell peppers. Cook until softened.
Stir in the ground beef and cook until browned, breaking it apart as it cooks.
Add chili powder, cumin, paprika, cayenne, salt, and black pepper. Stir to coat the meat and veggies.
Pour in the crushed tomatoes and beef broth. Stir well.
Bring to a boil, then reduce the heat and let it simmer uncovered for 45 minutes, stirring occasionally.
Add the beans and cook for another 15 minutes until heated through.
Taste and adjust seasoning as needed. Serve hot with your favorite toppings.