Heat olive oil in a large pot or Dutch oven over medium-high heat. Add the chopped onion and bell pepper and cook until softened, about 5-7 minutes.
Add the ground beef to the pot. Cook, breaking it apart with a spoon, until it is browned all over. Drain off any excess grease.
Stir in the minced garlic, chili powder, cumin, smoked paprika, oregano, and cayenne pepper. Cook for 1 minute more, stirring constantly, until the spices are fragrant.
Stir in the tomato paste and cook for another minute. Add the crushed tomatoes, rinsed beans, beef broth, salt, and pepper. Stir everything together to combine.
Bring the chili to a boil, then reduce the heat to low. Cover the pot and let it simmer for at least 1 hour, stirring occasionally, to allow the flavors to meld. For best results, simmer for 1.5 to 2 hours.
Taste the chili and adjust seasonings as needed, adding more salt, pepper, or chili powder. Serve hot with your favorite toppings like shredded cheese, sour cream, or chopped green onions.