Heat the oil in a large saucepan over medium heat. Add the onions and garlic and sauté for 5 minutes or until golden and fragrant. Sprinkle with salt and pepper.
Add the jalapeño and/or bell pepper (if using) and sauté for another 5 minutes. Add in the chili powder, cumin, paprika and oregano. Cook for 1-2 minutes, then stir in the tomato paste and cocoa powder and cook for another 2 minutes.
Add the diced tomatoes, vegetable broth, lentils, beans and soy sauce. Bring to a boil, then simmer covered for 25-30 minutes, or until the lentils are cooked and tender.
Stir in the red wine vinegar. Taste and add more if needed. You can also add lime juice for more acidity and more salt and pepper to taste.
Serve with cilantro, avocado, cheese and sour cream (vegan for a vegan chili).