Sear Beef Cubes:
Dry beef cubes with paper towels, then season generously with salt and pepper. Heat olive oil in a large pot over medium-high heat. Working in batches, sear the beef, turning occasionally, until browned on all sides, 3–4 minutes per batch. Set aside on a plate.Cook Onion and Aromatics:
Lower heat to medium. Add chopped onion to the same pot; cook, stirring now and then, until softened and lightly golden, 6–8 minutes. Add minced garlic and grated ginger; cook for 1 minute until aromatic.Toast Spices:
Add cumin, coriander, paprika, cinnamon, and cayenne (if using). Stir continuously for about 60 seconds to toast the spices.Add Tomatoes and Stock:
Pour in chopped tomatoes and beef stock, scraping up any browned bits from the pot bottom. Return the seared beef and any accumulated juices. Bring to a gentle simmer.Simmer Beef:
Cover, reduce heat to low, and simmer for 1 hour 30 minutes, maintaining a very gentle bubble.Add Fruits and Carrots:
Stir in carrots, prunes, dried apricots, preserved lemon, and honey. Cover and cook for another 45–60 minutes, until beef is fork-tender and carrots are just tender.Thicken Sauce:
Uncover; if the sauce is too thin, simmer for 10–15 minutes to reduce and thicken. Adjust seasoning with salt and pepper.Finish with Coriander:
Stir in most of the chopped fresh coriander, reserving some for garnish. Serve hot, topped with remaining coriander.