Place the onion, red pepper and coriander stalks into a slow cooker. Heat the oil in a large non-stick frying pan, season the beef with salt and freshly ground black pepper, then fry in two batches until golden-brown, transferring to the slow cooker when ready.
Add the garlic, spices and oregano to the pan juices and fry for one minute until fragrant. Stir in the tomato purée, tomatoes and stock then bring to a boil. Pour the hot sauce over the meat, then cover with a lid and cook on low for seven hours. Stir in the beans, then cook for an hour more until the meat is very tender.
Pop the chocolate into the sauce, let it melt, then stir it in. Season the sauce to your taste, then scatter with the coriander leaves and serve.