Finely chop the onion.
Heat a spoonful of oil in a large casserole dish, and gently sauté the onion & garlic.
Cut the beef into 3 cm cubes and add to the onion. Cook for 3-5 minutes until the beef changes colour.
Add the wine, turn up the heat and cook until it reduces almost completely.
Meanwhile cut the carrots in half and chop the mushrooms into large chunks. Add these to the meat.
Now add the spices and tomato purée and stir for a minute.
Roughly chop the tomatoes add these to the stew then add enough stock to cover the meat completely. Add the herbs. Add the chilli (as whole) if used.
Bring to the boil, put a cover on, turn down the heat and gently simmer for 60-90 minutes, until tender.
Drain the beans and add to the stew to warm through – by now you should have a thick sauce, if not, take the lid off and cook for about 10 minutes until it reduces.
Serve hot.