Heat the olive oil in a large saucepan with a lid.
Add your diced onion, stir, reduce the heat to low and cover with a lid.
Cook for 10-15 minutes until soft, stirring occasionally.
Add your cloves of chopped garlic, stir, and cook for one or two minutes until softening.
Add a teaspoon of dried chilli flakes (if using) along with 2 teaspoons ground cumin, 1 teaspoon ground cinnamon and a teaspoon of dried oregano. Stir well and continue cooking for a minute. Stir in a tablespoon of tomato puree.
Add your chopped red peppers and mushrooms, stir well, cover with a lid and cook for 15-20 minutes until soft.
Next add the soya mince and cook for a further ten minutes.
Stir in the tin of plum tomatoes.
Turn the heat up and stir while breaking up the tomatoes with the back of your spoon. Stir well then add a little cold water if needed to loosen the sauce (you may like to rinse the tomatoes out of the tin with the water - I add around 100ml)
Add the kidney beans, warm through then season to taste with salt and pepper. Reduce the heat to a simmer until your potatoes are ready.