Brown the beef: Heat olive oil in a large pot or Dutch oven over medium-high.
Add the ground beef, breaking it up with a spoon. Cook until browned with crispy edges, about 6–8 minutes. Spoon off excess fat if needed, leaving about a tablespoon for flavor.
Sauté the aromatics: Add onion, bell pepper, and jalapeño.
Cook until softened, 5–6 minutes. Stir in garlic and cook 30 seconds, just until fragrant.
Toast the spices: Sprinkle in cumin, chili powder, smoked paprika, oregano, coriander, salt, and pepper. Stir for 30–60 seconds to bloom the spices.
Don’t let them burn.
Add tomato paste: Stir in tomato paste and cook 1–2 minutes. This step deepens the savory, slightly sweet tomato flavor.
Build the base: Pour in crushed tomatoes, diced tomatoes with their juices, and beef broth. Stir well, scraping the bottom of the pot to release any browned bits.
Simmer gently: Bring to a low boil, then reduce heat to a gentle simmer.
Partially cover and cook 25–30 minutes, stirring occasionally. The chili will thicken and flavors will meld.
Add beans: Stir in kidney and black beans. Simmer another 10–15 minutes.
If it gets too thick, add a splash of broth or water.
Balance and finish: Taste and adjust salt. Add the sugar or honey to round the acidity. Squeeze in lime juice if using for brightness.
Serve with toppings: Ladle into bowls.
Finish with cheddar, sour cream, green onions, cilantro, avocado, or a few dashes of hot sauce. Crushed tortilla chips add a great crunch.