Method:
Mash garlic, saffron, paprika, cumin, cinnamon, turmeric, and cayenne together.
Heat olive oil and butter in a large casserole or sauté pan and brown meat on all sides. Remove meat and let cool slightly then rub with spice paste. Let stand for at least one hour.
Add meat back to the pan, add salt and pepper, onion, cilantro and lemon (optional). Add about 2 1/2 cups water. Bring to a boil, reduce heat and simmer, covered tightly for 1 hour, turning lamb occasionally to evenly baste meat. Continue cooking, adding more water if necessary, until lamb is fork tender (another 45 minutes to an hour).
Remove meat to serving platter, increase heat and reduce sauce until it is thick.