Grind the cumin and coriander seeds in a spice mill and combine with the red pepper and place near the stove.
Soak the saffron in hot milk.
Heat the ghee or clarified butter in a large, shallow, heavy pan. Stir in the onions, cardamom pods, cinnamon, cloves and bay leaves. Cook over medium heat, stirring frequently, until the onions begin to turn reddish brown, about 15 minutes. Add the ginger and garlic and cook, stirring constantly and scraping the bottom of the pan, until the onions are reddish brown. Stir in the ground spices and cook, stirring, for about 10 seconds, or until the spices release their fragrance.
Dry the meat with paper towels. Stir half of the meat into the spice mixture. Increase the heat to medium high and cook, stirring for a few minutes, making sure all the meat is coated with the spices. Stir in the remaining meat, and cook as before, scraping the bottom of the pan. If the mixture gets too dry, splash in a little water.
Turn the heat to medium. Start adding the yogurt 1 tablespoon at a time, stirring and incorporating it into the mixture before adding the next tablespoonful. Continue adding in this way until all the yogurt has been used.
Turn the heat to low. Cover the pan and simmer the meat for about 1 1/2 hours, or until the meat is very tender. If necessary, splash in a little water from time to time. When the meat is tender, and salt to taste. Stir the cream and cook until the sauce is thick. Stir in the saffron and rose water and heat thoroughly.
Fry the almonds in a little oil until golden brown. Serve the lamb piping hot garnished with the almonds. (The whole spices in this dish are not meant to be eaten.)
Serve this dish with a pilaf or any Indian bread.