Add the oil to a large pan and place on a low to medium heat. Once hot, add the onions and fry for 4-5 minutes, stirring occasionally. You want them to go soft and translucent - if they start to catch or go brown then turn the heat down a little.
Add the garlic, pepper and spices (except the marjoram) to the pan and stir well. Fry for another 4-5 minutes, stirring. Don't worry too much if the spices catch on the bottom as this will come lose when you add the liquid later!
Turn the pan heat up to medium/high and add the beef - you want it to be sizzling and browning, not stewing in liquid! Use a wooden spatula to break up the beef mince and stir the mixture well. Add the stock pot and stir into the mix. Fry for 4-5 minutes until there are no pink bits of beef left.
Add the tomatoes, tomato puree, passata, drained kidney beans, chocolate, marjoram and a good helping of salt and pepper to taste. Stir well until everything is mixed together, place a lid on the pan and turn the heat down to low. Leave to simmer for 30 minutes, stirring approx every 5 mins to ensure nothing is sticking.
After the 30 minutes is up, stir the chilli well, turn off the heat and replace the lid. Leave for 10 minutes for the flavours to really absorb. Then serve hot or cool and portion up for storing/freezing.
Video
Notes
In this recipe I have used 15% fat beef mince for several reasons. I tried it with a lean, 5% fat beef mince and while it does work, the texture and favour is not as deep. The 15% fat beef mince is also cheaper and therefore helps if you're cutting costs.
Any leftovers can keep in the fridge for around 3 days or can be frozen and defrosted as needed.