Wash the meat and squeeze out all the water. Add the yogurt, salt, ground onions, ground garlic and mix thoroughly.
Heat oil in a heavy bottomed pot. When oil is smoking slightly and the bay leaf, cloves, peppercorns and cardamoms. Add the chopped onions and fry until golden brown, add the meat/yogurt mixture and keep stirring. Bring the heat to medium, cover the pot with a lid and let it simmer for 20-25 minutes.
Cook until the lamb is almost tender. Add the coconut, poppy seeds and milk and bring to a boil. Cook until the gravy thickens.