Heat olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Add the ground beef in two batches, breaking it apart with a wooden spoon. Cook for 5 to 7 minutes per batch until deeply browned. Do not crowd the pan. Drain excess fat, leaving about 1 tablespoon in the pot.
Return all browned beef to the pot. Add the diced onion and green bell pepper. Cook over medium heat for 4 to 5 minutes, stirring occasionally, until the vegetables are softened and translucent.
Add the minced garlic and cook for 1 minute, stirring constantly, until fragrant.
Build the Flavor Base
Add the chili powder, smoked paprika, cumin, oregano, cayenne, salt, and black pepper directly to the pot. Stir continuously for 60 seconds to bloom the spices in the residual fat. This step is key to deep flavor.
Stir in the tomato paste and Worcestershire sauce, cooking for another 30 seconds until the paste darkens slightly.
Simmer the Chili
Pour in the crushed tomatoes, diced tomatoes (with their juices), and beef broth. Stir well to combine everything and scrape up any browned bits from the bottom of the pot.
Add the drained kidney beans and black beans. Stir to incorporate.
Bring the chili to a boil over medium-high heat, then reduce heat to medium-low. Simmer uncovered for 30 to 40 minutes, stirring every 10 minutes, until the chili has thickened to your desired consistency.
Taste and adjust seasoning with additional salt, pepper, or cayenne as needed.
Serve
Ladle the beef chili into bowls and serve immediately with your choice of toppings — shredded cheddar, sour cream, jalapeños, diced onion, cilantro, and lime wedges all work beautifully. Serve with cornbread or crackers on the side.
Notes
Make-Ahead: Chili tastes better the next day. Make up to 2 days in advance and refrigerate. Reheat gently on the stovetop.Freezer-Friendly: Cool completely and freeze in airtight containers for up to 3 months. Thaw overnight in the fridge.Spice Level: Reduce or omit cayenne for a mild, family-friendly chili. Add a chipotle pepper in adobo sauce for smoky heat.Slow Cooker Method: Brown beef and aromatics on the stovetop, then transfer to a slow cooker with all remaining ingredients. Cook on Low 6-8 hours or High 3-4 hours.Thickening Tip: If the chili is too thin, mash some beans against the side of the pot or stir in 1 tablespoon of masa harina.