A very popular Indian dish that has been adapted by the Cape Muslims and is usually served at religious festivals. Ideal for entertaining large numbers of guests--the dish can be prepared in advance and the flavour actually improves with time.
Heat the oil in a pan and sauté the onion, cardamom seeds, cloves, cinnamon, ginger and garlic until the onion is tender and all the flavours have blended. Add the fennel seeds, cumin, coriander, garam masala and a little water. Simmer until an aromatic paste has formed.
Season the fish with salt with the 1 tsp garam masala and add to the paste, along with the potatoes. Fry until the mixture is a nice yellow colour. Cover and braise until cooked. The potatoes Should be tender but still whole (about 15-20 minutes). Add extra water if necessary.
Put the lentils in plenty of boiling, salted water and cook 5 minutes. Add rice and turmeric to water and continue boiling until done (about more 20 minutes). Drain and set aside.
Arrange layers of the fish mixture and rice in a saucepan. Add a little water, cover, and steam for about half an hour. Garnish with quartered hard-boiled eggs.
Variation: Layer the biryani in an ovenproof dish, cover, and bake for half an hour at 180°C (350°F) until heated through.