Warm the pot: Heat olive oil in a large Dutch oven over medium heat. Add onion and bell pepper.
Cook 5–7 minutes, stirring, until softened and lightly golden.
2 tbsp olive oil, 1 large yellow onion, diced, 1 green bell peppers, diced
Add garlic and spices: Stir in garlic, chili powder, cumin, smoked paprika, oregano, pepper, and 1 teaspoon salt. Cook 30–60 seconds until fragrant. This blooms the spices for richer flavor.
3 cloves minced garlic, 2 tsp ground cumin, 1 tsp smoked paprika, 1 tsp dried oregano, ½ tsp ground black pepper, 2 tsp kosher salt, plus more to taste, 2 tbsp chili powder
Brown the beef: Add the ground beef.
Break it up with a spoon and cook until no longer pink, about 6–8 minutes. If there’s lots of fat, spoon off some, but leave a bit for flavor.
1.2 pounds ground beef
Tomato base: Stir in tomato paste and cook 1 minute. Add crushed tomatoes, diced tomatoes, and the broth.
Add the bay leaf and jalapeño if using.
1 tbsp tomato paste, 1 can (28-ounce) crushed tomatoes, 1 can (14.5-ounce) diced tomatoes, with juices, 1 cup beef broth or water (more as needed), 1 bay leaf, 1 small jalapeño, minced
Simmer and season: Bring to a gentle simmer. Reduce heat to low, cover partway, and cook 25–30 minutes, stirring occasionally. Add more broth if it gets too thick.
Beans and finish: Stir in kidney and pinto beans.
Taste and add more salt as needed. If the tomatoes taste sharp, stir in the brown sugar. Simmer another 10–15 minutes to blend the flavors.
1 can (15-ounce) kidney beans, drained and rinsed, 1 can (15-ounce) pinto beans, drained and rinsed, 1 tsp brown sugar or maple syrup
Serve and top: Remove bay leaf.
Ladle into bowls and add toppings—cheddar, a dollop of sour cream, green onions, cilantro, and a squeeze of lime. Offer hot sauce on the side.