Melt the butter in a medium enameled cast-iron casserole. Season the lamb with salt and pepper. Add the meat to the casserole and cook over moderately high heat until browned all over, about 10 minutes. Using a slotted spoon, transfer the meat to a large plate.
Add the carrots and onion to the casserole and cook over moderate heat until just softened, about 10 minutes. Return the meat to the casserole. Add the cinnamon, allspice, lemon and orange zests and a generous pinch of pepper and cook, stirring, until fragrant. Add the tomatoes and stock and bring the stew to a boil.
Partially cover the stew and cook over moderate heat until the meat is just tender, 40 minutes. Stir in the peas and cook uncovered until the meat is very tender and the sauce thickens slightly, about 10 minutes longer. Discard the lemon and orange zests and serve.