Heat a heavy-based saucepan over medium heat.
Add oil and onions and fry for 2-3 minutes until translucent.
Add in garlic, peppers, ginger, thyme, and chili flakes and fry together for several minutes.
Stir in tomato paste, vegetable stock, and bouillon cube and cook until the mixture has formed a thick paste.
Add in chili powder, salt, and pepper and continue to cook, stirring frequently, for another 10 minutes.
Reduce heat to low and continue to cook for 30-40 minutes while still stirring frequently. The contents of the pan should turn a deep red or brown color, and the oil will rise to the surface when the sauce is ready. Taste and adjust the seasoning if necessary.
Blend the contents of the pan for a smoother texture if desired. Allow the mixture to cool and spoon into sterilized jars. There should be a layer of oil roughly 1/2-inch thick that rises to the top. If not, add a little additional canola oil. Sealed jars can be stored in the fridge up to one month.