01 - Heat olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Brown beef cubes in batches, searing all sides evenly. Transfer browned beef to a plate and set aside.
02 - Add chopped onion and carrots to the pot. Sauté for 5 minutes until softened, stirring occasionally to prevent sticking.
03 - Stir in garlic, cumin, cinnamon, coriander, ginger, turmeric, paprika, and cayenne. Cook for 1 minute until fragrant, being careful not to burn the spices.
04 - Return beef to the pot. Add tomato paste, diced tomatoes, beef broth, salt, and pepper. Stir thoroughly to combine all ingredients and bring mixture to a simmer.
05 - Reduce heat to low, cover, and cook for 1½ hours. Stir occasionally to ensure even cooking and prevent sticking on the bottom.
06 - Add dried apricots and honey. Continue simmering uncovered for another 30 minutes, or until beef is very tender and sauce has thickened to desired consistency.
07 - Taste and adjust salt and pepper if necessary. Skim off and discard any excess fat that has risen to the surface.
08 - Serve hot, garnished with chopped fresh cilantro or parsley and optional toasted slivered almonds. Accompany with couscous or crusty bread if desired.