Preheat oven to 350 degrees F.
In a blender, puree the garlic and the gingerroot with 1/3 cup water.
In a heavy kettle heat 3 tablespoons of the oil over moderately high heat until it is hot but not smoking and in it brown the lamb, patted dry, in batches, transferring it as it is browned with tongs to a bowl.
To the skillet add the remaining 3 tablespoons oil, heat it until it is hot but not smoking, and in it fry the cinnamon stick, the cloves, and the bay leaf, stirring, for 30 seconds, or until the cloves are puffed slightly. Add the onions and cook the mixture over moderate heat, stirring occasionally, until the onions are golden. Add the garlic puree and cook the mixture, stirring, for 2 minutes, or until the liquid is evaporated. Add the cumin, the coriander, and the cayenne and cook the mixture, stirring, for 1 minute. Add the tomatoes and the yogurt, simmer the mixture, stirring, for 1 minute, and add the lamb, the salt, and enough water to come half-way up the meat. Bring the mixture to a boil and braise it, covered, until the lamb is tender, about 1 to 1 1/4 hours. Remove cinnamon stick, cloves, and bay leaf. The lamb mixture may be prepared up to this point 2 days in advance. Let the lamb cool, uncovered, and then chill it, covered. Reheat the lamb mixture.
In a large saucepan bring 1-inch water to a boil, add the spinach, and steam it, covered, for 2 minutes, or until it is wilted. Drain the spinach in a colander.
Spoon off any excess fat from the lamb mixture and season with lemon juice, salt, and pepper, to taste. Distribute the spinach over the stew and stir it in gently. Transfer the stew to a heated serving dish and sprinkle it with the pine nuts.