Heat 1 tablespoon of the oil in a large flameproof casserole dish or deep frying pan. Add the onion and fry over a medium heat, stirring occasionally, for 12–15 minutes until golden. Remove from the dish and set aside. Add the raisins to the dish and stir around for 30 seconds, then remove and set aside with the onion.
Add the remaining oil to the dish and heat, then add the cinnamon, peppercorns, cloves, cardamom and coriander seeds and stir around for 1 minute. Reduce the heat to low. Add the ground cumin, cayenne and garlic and stir for a further 30–60 seconds until you can smell the aroma of the spices.
Stir in all the vegetables, then gradually add the yogurt, still over a low heat. Add 1/3 cup (80ml) of the water, cover the pan tightly and leave the vegetables to simmer gently for 12 minutes.
Meanwhile, put the rice in a saucepan with the saffron threads, the rest of the water and a pinch of salt, stir and bring to the boil. Reduce the heat to low, cover the pan tightly with a lid and leave to simmer for about 10 minutes until the liquid has been absorbed and the rice is just starting to become tender.
Spoon the cooked rice on top of the vegetables. Re-cover the dish tightly and cook gently for a further 10–15 minutes until both the rice and vegetables are tender. Alternatively, layer the vegetable curry and rice in a casserole dish, cover tightly and bake at 180 degrees C for 20–30 minutes.
Scatter the reserved onion and raisins over the top of the biryani together with the almonds, coriander and wedges of egg. Serve immediately.