Slice the onion and garlic.
Heat a little oil in a large sauce pan and gently cook the onion and garlic until soft.
Season the beef with salt, add to the onion and stir until it changes colour. Add the spices and stir for a minute, then add the tomato purée and chipotle paste.
Pour in the tomatoes and the stock. Add the cinnamon and the carrot (as whole).
Bring to the boil over high heat, then turn down the heat, put the lid on and cook for about 35-45 minutes.
Peel the sweet potatoes and cut them into bite-sized chunks. Drain the beans. Add the sweet potatoes and beans to the stew and cook for a further 20 minutes or so, until the sweet potatoes are tender (without a cover to thicken the sauce).
Chop the coriander and add the to stew.
Cut the carrot into chunks and serve the stew with a dollop of sour cream, if you like..