Put the oil, onions and garlic into a large non-stick saucepan or sauté pan and cook over a medium low heat with the lid off for 5 minutes until just starting to soften.
Add the brown sugar, paprika, smoked paprika, cumin, cayenne, cinnamon, oregano and chilli flakes, along with plenty of salt and pepper. Put the lid on the pan ajar, reduce the temperature to low and cook for 15- 20 minutes, stirring regularly.
As the onions cook, you will almost certainly need to add a splash of water if they start to stick a little (from the tap is fine). This will depend on what type of pan you’re using (and also if you’ve put the heat up too high as you’re impatient like me!)
After 15-20 minutes the onions should be deep brown and fragrant. You shouldn’t be able to see any white onion parts left, they should all be soft.
Add the stock, cubes of sweet potato, beans and tinned tomatoes. Give everything a good stir. Put the lid on and put the heat up to medium.
Cook for 45 minutes-1 hour. As the chilli cooks, I like to use a masher to mash about half of the softened beans. I find this improves the texture of the finished dish. It’s personal preference if you prefer not to though.
The chilli is ready when it is darker in colour and everything is soft and thick.