Heat the olive oil in a large saucepan over medium heat. Add the diced onions and minced garlic, and sauté for about 5 minutes until soft and fragrant.
Add the chopped bell peppers and optional chargrilled peppers. Cook for an additional 5-10 minutes until the peppers and onions start to color.
Stir in the spice mix to coat the peppers and onions. Add the mixed beans and chopped tomatoes, bringing the mixture to a gentle simmer. Add the sweet corn and continue to simmer for about 30 minutes, adjusting the seasoning to taste.
Stir in the reserved cinnamon, cocoa powder, and soy sauce once the chili has simmered. Mix well and adjust the seasoning as needed. Add a splash of vinegar or lime juice for added acidity.
Divide the chili into bowls and top with chopped avocado, fresh coriander, sour cream, and grated cheddar.