Heat olive oil in a large pot or tagine over medium-high heat.
Season lamb chunks with salt and pepper. Sear in batches until browned, then set aside.
Add onion and garlic to the pot, cooking until fragrant.
Stir in bell pepper, zucchini, and cauliflower; cook 3–4 minutes.
Add all spices and tomato paste; stir to coat vegetables.
Return lamb to the pot, then add diced tomatoes, broth, and olives. Stir well.
Bring to a boil, then reduce heat to low. Cover and simmer for 1.5–2 hours, until lamb is tender.
Stir in lemon juice, adjust seasoning, and garnish with fresh cilantro before serving.