Preheat the oven to 190°C. Bring a large saucepan of water to the boil, add the onions, bring the water back to the boil and cook for 10 minutes. Drain well, reserving 300 ml of the water, then leave the onions to cool.
Put the sultanas and burghul into a heatproof bowl. Pour in the hot onion water and soak for 20 minutes until the water is absorbed. Drain if necessary.
Meanwhile, slice off the top 1 cm of each onion. Scoop out the centre of each onion. Finely chop the onion lids, centres and the garlic.
Heat the oil in a non-stick frying pan over a medium heat. Add the lamb and fry for 5 minutes, stirring frequently, until the meat is lightly coloured.
Push the lamb to one side, reduce the heat and add the spices. Stir-fry for 20 seconds, then add the onion mixture and cook for 1 minute. Stir in the lamb and cook over a medium heat for 10 minutes. Stir in the burghul mixture.
Sit the onions in a large, lightly greased roasting tin and fill with the lamb mixture. Cover with foil and bake for 20 minutes, then uncover and bake for a further 10 minutes. Serve immediately.
Large beef tomatoes can be filled with the same mixture. Slice a lid off each tomato (allow 2 per serving) and scoop out the seeds and core. The tomatoes do not need to be cooked in boiling water. Chop the cores and add to the lamb mixture with 1 finely chopped onion.