Begin by setting a large, heavy-based pot over medium heat. Grind the cloves, fennel, cumin, coriander, and turmeric in a spice grinder. Add oil to the hot pot and pour in the spices. Throw in cinnamon sticks, bay leaves, curry leaves, and chilli. Toast for 2-3 minutes until golden and aromatic - be careful, the leaves will splatter a little. While they are toasting, add onion, garlic and ginger to the food processor and pulse until finely chopped.
Season cubed lamb with salt and pepper then add to the pot of oil and spices. Brown all over, about 5-7 minutes.Add onion puree and sweat a little to remove some of the moisture - about 8 minutes. Stir with a wooden spoon as you go. Now add fresh tomatoes and cover slightly with lid. Reduce heat and simmer for 40 minutes until the lamb is tender. Remove the lid and skim fat off the surface. Fold in the yogurt and simmer for a further 5 minutes. Garnish with chopped fresh cilantro and scallions serve with steamed basmati rice and raita.