Step 1 Put the yogurt in a bowl and whisk lightly until smooth and creamy. Add the turmeric, cayenne, cumin, coriander, salt, ginger and garlic. Mix until well blended.
Step 2 Put the lamb into a large bowl. Pour the yogurt mixture over the top and mix (using your hands) until thoroughly blended. There should not be any pools of yogurt left.
Step 3Pour the oil into a large (preferably nonstick) saute pan and set over medium-high heat. When it is hot, put in the cinnamon, cardamom and bay leaves. Stir once or twice, then add the onion. Stir and fry about 5 minutes, or until the onion pieces are reddish brown.
Step 4Add all the meat. Stir and cook, breaking up the meat until lumps and pinkness are gone, about 5 minutes.
Step 5Add the tomato puree and stir. Bring to a simmer. Cover, turn the heat to medium-low and cook for 30 minutes, stirring every 6 to 7 minutes and making sure there is enough liquid so the lamb does not stick to the bottom. Uncover. Most of the liquid should have evaporated by this time.
Step 6Stir and fry the meat for the next 5 minutes, removing and discarding the cinnamon sticks, cardamom pods and bay leaves. After 5 minutes, spoon out as much of the fat as you can and discard it. Now add the peas, cilantro, green chiles (if desired), garam masala, cayenne, lemon juice and 6 tablespoons water. Mix, cover and cook on low heat for an additional 6 to 7 minutes, or until the peas are tender and no liquid is left. Makes 7 cups.