Preheat the oven to 300F.
In a small bowl, combine the coriander, cumin, cinnamon, cayenne, turmeric, and cloves. Pat the lamb dry and season all over with salt and pepper.
In a large dutch oven, heat the oil until shimmering. Add the lamb and brown all over, about 10 minutes. Transfer to a plate with a slotted spoon.
Add the onion to the pot and sprinkle with salt. Sauté until translucent, 4 or 5 minutes.
Stir in the garlic and spice mixture and cook until fragrant, about 1 minute. Add the tomatoes, broth, bay leaves and lamb.
Bring to a simmer, then cover and transfer to the oven. Cook until the lamb is tender, about 1 ½ hours.
Add the cauliflower and continue cooking until cauliflower is tender, another 20 minutes or so.
Remove the bay leaves and stir in lemon zest before serving.
