Bring 1 cup of water to a boil. Remove from heat, stir in the TVP, and set aside to rehydrate.
Heat a large pot over medium heat and add the olive oil. Add the onions with a pinch of salt and cook slowly, stirring occasionally, until softened and they start to brown. Don’t rush this step. Let the onions sweat and brown.
Add the bell peppers, garlic, and jalapeños. Sauté until softened, about 5 minutes.
Add in the rehydrated TVP and cook for an additional 2-3 minutes.
Mix in the tomato paste, all the seasonings, cocoa powder, brown sugar, vegan Worcestershire sauce. Cook for another 2-3 minutes, stirring constantly, until fragrant and well combined.
Pour in the canned tomatoes, vegetable broth, and all of the beans. Stir well. If using whole canned tomatoes, crush or blend them before adding. I prefer a smoother chili, so I blend the tomatoes first, but use whatever texture you like.
Bring to a simmer over medium heat, then reduce to a low simmer. Partially cover and cook for at least 45 minutes, stirring occasionally. 1 to 2 hours is ideal for the best flavor.
Taste and adjust the salt as needed. Then, serve the chili and top with shredded vegan cheese, green onions or cilantro, and vegan sour cream. Enjoy!