Cook the beef in some oil until it is browned.
Add the onions and mushrooms and cook until soft.
Add the garlic, chillies, and spices and continue cooking for one minute.
Add the tomatoes, tomato purée, beef stock and lime juice and rind.
Add the sugar and season with salt and pepper.
Bring to the boil and simmer for an hour, or until the beef is tender.
Stir in the kidney beans and simmer for ten more minutes.