Grind the ginger, garlic, cumin powder, garam masala, coriander leaves and 1/2 a tsp of salt together and make it into a paste. Add this ground paste and the egg to the ground lamb and mix well. Make small balls out of this mixture. Keep them aside.
Heat the oil in a pan and fry the onion until brown, add the cinnamon, cloves, cardamom seeds, ginger, garlic, chili powder, turmeric powder, cumin powder, coriander powder, and mix well. Fry for few minutes. Then add the tomatoes and stir-fry until the oil separates from the mixture. Add the yoghurt, salt and sprinkle little water. Let this come to a boil. Now add the meatballs and the cauliflower and cook over low heat for 25 minutes or until the meat is cooked. Stir occasionally without breaking the meatballs. Garnish with chopped coriander leaves and serve hot.