In a large pot, heat the olive oil over medium heat. Add diced onions and bell pepper, sauté for 5-7 minutes until softened.
Stir in the minced garlic and cook for an additional minute until fragrant.
Add the ground beef to the pot. Cook, breaking it apart with a spoon, until browned (about 7-10 minutes). Drain excess fat if necessary.
Mix in the tomato paste, chili powder, cumin, paprika, oregano, cayenne pepper, salt, and pepper. Stir well to combine and cook for 2-3 minutes to let the spices bloom.
Add the diced tomatoes, kidney beans, black beans, and beef broth to the pot. Bring the mixture to a boil then reduce to a simmer.
Cover and let simmer for at least 30 minutes, stirring occasionally. For richer flavor, let it simmer for up to an hour.
Taste and adjust seasoning if needed, adding more salt, pepper, or cayenne for heat.
Serve hot with your choice of toppings like shredded cheese, sour cream, jalapeños, and cilantro.
Notes
Adjust the cayenne pepper to your heat preference.