Dice the onion and bell pepper into small, uniform pieces. Mince the garlic. Drain and rinse the kidney beans. Open all canned tomatoes and measure the broth and tomato paste.
Heat the oil in a Dutch oven over medium-high heat. Add the ground beef in a single layer and let it sear undisturbed for 2-3 minutes. Break it into chunks and cook until no pink remains, about 5-7 minutes. Drain excess grease if needed.
Reduce heat to medium. Add the onion and bell pepper and cook for 5-6 minutes until softened. Add the garlic and cook for 30-60 seconds until fragrant.
Stir in the tomato paste and cook for 1-2 minutes. Add the chili powder, cumin, smoked paprika, garlic powder, onion powder, oregano, black pepper, salt, and cayenne (if using). Cook for 1-2 minutes to bloom the spices.
Pour in the crushed tomatoes, diced tomatoes with their juices, beef broth, and drained kidney beans. Stir well and scrape the bottom of the pot to release any browned bits.
Bring the chili to a gentle boil, then reduce the heat to low and partially cover with the lid. Simmer for 30-60 minutes, stirring every 10 minutes, until thickened and dark brick red.
Taste and adjust seasoning with more salt, cayenne, or a squeeze of fresh lime juice if needed. If too thick, add more broth; if too thin, simmer uncovered.
Ladle the chili into bowls and top with shredded cheddar, sour cream, jalapeños, green onions, tortilla chips, or crackers. Serve hot.