Drain the beans and cover with fresh water plus an inch. Bring to the boil and boil for ten minutes. Once boiled turn down to a simmer and cook for a further 20 minutes then drain.
Heat the oil in a heavy bottomed pan and add the onion and salt. Cook gently for 10 minutes until the onion is starting to brown.
Add the garlic to the pan and fry for 20 seconds.
Add the minced beef to the pan. Stir to break up and cook until browned.
Add the dried spices and black pepper to the meat and continue to fry for a minute.
Add the fresh chillies and red pepper and stir
Add the sugar, vinegar and the crumbled stock cube, turn up the heat to reduce any liquid in the pan.
Once most of the liquid has evaporated add the tomato paste and fry for a further 20 seconds or so,
add the tinned tomatoes plus 1 can full of water.
Add the cooked and drained beans, the oregano and coriander.
Cook on a gentle simmer for 50 minutes to and hour, add more water if needed. Or alternatively put in a slow cooker to finish cooking, give it a t least 3 hours. Or you can put in a low oven at 100C for at least 3 hours but up to 5. Just check the liquid levels and add more water if needed.