Preheat oven to 190°C or 170°C fan. Place flour in a shallow dish and season well with salt and freshly ground pepper. Trim lamb of excess fat and turn to coat in flour, shaking off any excess.
Heat oil in a heavy-based, flameproof casserole pan on high. Cook lamb, in batches, for 4 minutes, until browned. Remove from pan.
Add onion and carrot to pan, and cook on medium heat for 5 minutes, stirring, until browned. Return lamb to pan with stock, tomato and butter beans. Bring to boil. Cover and transfer to oven and cook for 1 hour, until lamb is very tender.