Mix together the meat, garlic, spices, cornflour and salt to taste. Bind with the egg yolk and divide the mixture into 4 equal parts.
With well floured hands, flatten each portion into a round, place a hard-boiled egg in the centre and work the meat round to cover. Roll into a ball.
Heat the oil in a pan and shallow fry the kebabs until they are brown all over. Lift out and set aside while making the sauce.
Heat the oil in a saucepan, add the cinnamon, cloves and cardamom and fry for a few seconds.Add the onion, garlic and ginger and fry until golden brown.Add the coriander, cumin and chilli powder and fry for 1 minute.Add the yogurt, a spoonful at a time, stirring until it is absorbed before adding the next spoonful. Break up the tomatoes with a fork, add them with their juices and simmer fir 1 minute. Add the kebabs to the sauce, season with salt to taste and cook, uncovered, for 25 minutes until the sauce is thick. Stir in the chopped coriander to serve.