Heat the Oil: In a large pot or Dutch oven, heat the olive oil over medium heat.
Cook the Beef: Add the ground beef and cook until browned, breaking it apart with a wooden spoon as it cooks. Once browned, drain excess fat if necessary.
Add Aromatics: Stir in the diced onion and garlic, and sauté for 3-4 minutes until the onion becomes translucent and fragrant.
Add the Spices: Sprinkle in the chili powder, cumin, smoked paprika, cayenne pepper (if using), salt, and pepper. Stir well to coat the beef and onions with the spices.
Add the Tomatoes and Beans: Pour in the diced tomatoes, kidney beans, black beans, and tomato paste. Stir until everything is well combined.
Add the Broth: Pour in the beef broth and bring the mixture to a simmer. Reduce the heat to low and let the chili cook for 45 minutes, stirring occasionally. The chili will thicken as it cooks.
Adjust Seasoning: Taste the chili and adjust the seasoning with additional salt, pepper, or chili powder if needed. For more heat, you can also add a bit more cayenne pepper.
Serve: Ladle the chili into bowls and top with your favorite toppings, like shredded cheese, sour cream, green onions, or chopped jalapeños. Serve with cornbread, tortilla chips, or rice for a complete meal.