Finely chop the onion and garlic. Chop the carrot, red pepper and sweet potatoes into bite-sized pieces.
Heat 1 Tbsp of the oil in a large casserole or heavy-based saucepan. Brown the beef for 3–5 minutes, then transfer it to a plate.
Add the remaining oil to the pan and gently cook the onion for about 5 minutes until softened. Stir in the garlic and cook for 1 minute.
Add the carrot, red pepper and sweet potato, then stir in the smoked paprika, chilli flakes, cumin and oregano. Cook for 1 minute before adding the tomato purée. Stir well to coat the vegetables.
Return the beef to the pan and add the chopped tomatoes, beef stock and bay leaf. The stock should just cover the meat and vegetables.
Bring to the boil, then reduce the heat, cover and simmer gently for about 45–60 minutes, or until the beef is tender.
Stir in the black beans and cook for another 5 minutes until heated through.
Taste and adjust the seasoning with salt and pepper.
Sprinkle with chopped parsley or coriander and serve with boiled potatoes, rice or crusty bread.