Heat a large pot over high heat. Add the oil, onions, and ground meat.
Cook and stir for 15-20 minutes, until meat is browned and onions are tender. Add the celery, peppers, garlic and salt. Stir and cook for 10 minutes.
Add the chili powder and cook for a minute, then add the beans, tomatoes (break them up with your hands as you add them), tomato paste and water. Bring the mixture to a simmer over medium heat, stirring frequently.
Reduce the heat to low and simmer for at least 30 minutes. Add the corn, stir well, and simmer for another 10 minutes. Taste and serve with any or all of the optional toppings.