In a large bowl, dust the cubes of lamb with flour and season with salt and pepper.
In a Dutch oven over medium heat, warm the olive oil. Working in batches, add the lamb and cook until browned on all sides, 10 to 15 minutes. Using a slotted spoon, transfer the lamb to a plate.
Add the onions, garlic, carrots, and celery to the oil in the Dutch oven and cook until the onions begin to soften and are slightly golden, 3 to 5 minutes. Stir in the lamb.
Reduce the heat to low and add the bay leaves, rosemary, tomatoes, white wine, and lamb stock or water. Bring to a boil, cover the Dutch oven with a lid, and simmer very gently until the lamb is tender, about 75 minutes.
Stir in the cannellini beans and simmer until warmed through, about 15 minutes more.