Drain the butter beans and place in a pan of water. Bring to the boil, reduce the heat and simmer for 1 hour, removing any froth that comes to the surface.
Heat the oven to 180°C/gas 4.
Heat the olive oil in a large flameproof casserole. Add the lamb and cook on each side for 15 minutes until golden, then remove. Add the onions and sauté for 5 minutes, then add the garlic and cook for a further minute. Add the red wine, tomatoes, stock, rosemary, chilli, seasoning and cooked beans. Mix well and return the leg of lamb to the pot. Immerse it in the mixture, then place in the oven to cook for 1½ hours, checking occasionally.