Heat the oil in a large heavy-bottomed pot over medium-high heat. Add the onions and sauté them for about 4 minutes. Add the celery, garlic and 1/2 teaspoon of salt. Sauté for another 3 minutes.
Add the chili powder, cumin, paprika, chipotle peppers and the remaining 1/2 teaspoon of salt. Stir to combine the ingredients. Add the crushed tomatoes and broth, cover the pot and bring it to a boil.
Remove the cover, add the beans, and reduce the heat to medium. Let the soup simmer for 10 minutes, uncovered.
Turn off the heat and let the soup sit for another 10 minutes so that the beans absorb more liquid.
Serve the chili in bowls with optional toppings.
Refrigerate any leftovers. The chili tastes even better the next day!