Wash and pat dry the lamb shanks. Season with salt. Prepare the dry mixture by mixing the flour, cinnamon powder, turmeric powder, white pepper powder, black pepper powder and 7-spice powder.Generously coat each lamb shank with the dry mixture.
Grind a pinch of saffron threads in a small mortar and pestle. Add the saffron, rose water, cardamom powder to a ¼ cup of boiling water; mix and keep to the side.
In a large cast iron pot, heat some vegetable oil and sear each lamb shank until all sides have browned. Set lamb shanks aside.
Wipe the cast iron pot clean, heat 2 tablespoons of vegetable oil, and add the onions, bay leaf and the cinnamon stick. Sauté on medium heat until the onion slices turn translucent in colour. Add the honey, and stir together for a couple of minutes. Add the browned lamb shanks, the saffron mixture and top with water, enough to cover the meat. Bring the liquid to a boil; reduce heat, cover and leave to simmer on low heat for 75–90 minutes. The longer you allow the meat to cook on low heat, the more your meat will become succulent and tender.