Heat the oil over a medium heat in a large pan. Add the onion and garlic, and fry them off for about 4 minutes until softening and aromatic.
Next, throw in the carrots and bell peppers and cook for a further 4 minutes until beginning to soften.
Add in the cinnamon, chilli powder, smoked paprika and cumin and stir them through.
Next add the mushrooms, beans, walnuts, chopped tomatoes, tomato puree, cocoa, soy sauce, and liquid smoke if using. Fill the chopped tomatoes can with water and add it to the pot. Give it all a really good stir to combine, then bring it to a simmer.
Leave it to simmer for half an hour, stirring it every so often so that it doesn't stick.
Season well and add the lime juice. If you’d like the chilli a little thicker, you can use a potato masher to mash it up a little and create a thicker sauce. Stir through the yoghurt.