Brown the beef: Heat olive oil in a tagine, Dutch oven, or heavy-bottomed pot. Brown beef cubes in batches; remove and set aside.
Cook onions and garlic: In the same pot, sauté onions until soft and golden. Add garlic and cook 1–2 minutes.
Add spices: Stir in cinnamon, ginger, turmeric, cumin, black pepper, and salt. Toast for 1 minute to release aroma.
Deglaze: Add tomato paste and broth, scraping up browned bits from the bottom.
Simmer beef: Return beef to the pot, cover, and simmer on low heat for 1.5–2 hours until beef is tender.
Add apricots and honey: Stir in dried apricots and honey during the last 15–20 minutes of cooking.
Finish: Stir in chopped cilantro before serving. Sprinkle with toasted almonds if desired.