Finely chop the onion and garlic.
Cut the beef into bite-sized pieces.
Heat some oil in a large sauce pan and brown the beef cubes, then transfer them to a plate.
Add more oil to the pan and gently sauté the onion and garlic until soft.
Add the chopped tomatoes and the spices, then stir for a minute or so.
Add about 750 ml water, the stock pot and the carrot pieces (as whole).
Bring to the boil, then turn down the heat, put the lid on and cook for about 35-45 minutes.
Meanwhile, peel the sweet potatoes and chop them into bite-sized chunks.
When the beef is tender, add the sweet potatoes to the stew and cook for a further 20 minutes or so, until the sweet potatoes are cooked through (without a lid). Add the drained beans and cook for a couple of minutes.
Serve with chopped coriander leaves scattered on top.