Add carrots and celery to a blender and blend until roughly chopped. Add the onion and blend/pulse again until chopped, but not watery. You may need to use a damper tool or scrape sides down to chop up the onion fully. Alternatively, you could hand chop the carrots, celery, and onion.
In a large pot over medium heat, add 2 tablespoons olive oil, the onion mixture, and 1 teaspoon salt. Cook for 5-7 minutes, stirring occasionally, or until softened and most of the water has cooked off.
Add the mushrooms to the blender and blend to finely chop. Push the onion mixture to the sides of the pot to create room for the mushrooms in the center. Add remaining 1 tablespoon olive oil to the middle of the pot and add the mushrooms. Increase the heat to medium-high and let them cook, undisturbed, for 5 minutes, or until cooked down and golden in spots.
Add your tomatoes to the blender and blend until they are broken down and juicy, set aside. Add the bell pepper, garlic, cocoa powder, cumin, coriander, and chili flakes (if using) to the skillet and cook, stirring constantly, for about 30 seconds to toast the spices. Add in the pureed tomatoes and 1 teaspoon salt and scrape up any browned bits stuck to the bottom.
Stir in the beans, water, ¼ cup orange juice, and remaining ½ teaspoon salt. Increase the heat to high to bring to a boil, then reduce to low and simmer for 10-15 minutes. Add 2-3 cups of the chili to your blender and blend until smooth. Stir it back into the chili along with the remaining ¼ cup orange juice. Always taste and add more salt, if needed.
Top the chili with yogurt, red onion, and cilantro.