• Preparation time: 15 minutes
  • Cooking time: 40 minutes
  • Total time: 55 minutes

Serves: 10-12


330g basmati rice
1 undyed smoked haddock fillet (about 650g)
2 onions, sliced
8 cardamom pods, lightly crushed
300ml whole milk
150ml double cream
12 eggs
2 tsp cumin seeds
½ tsp fennel seeds
½ tsp ground mace
½tsp cayenne pepper
30g fresh root ginger, grated
60g unsalted butter
handful coriander leaves, roughly chopped
2 tbsp black sesame or nigella seeds 


1. Put the rice in a large pan, cover with plenty of water, bring to the boil and simmer for about 10 minutes or until just cooked but not yet fluffy. Drain, then spread out on a serving dish and cover with a clean tea towel.

2. Put the fish in a wide, shallow frying pan; add the onion and cardamom pods. Pour over the milk and cream; heat until just simmering. Cook very gently for about 5 minutes, until the fish begins to flake. Remove the pan from the heat and transfer the fish to a plate. Pour the infused milk through a sieve into a jug and set aside; discard the onion and cardamom pods. Flake the fish over the rice.

3. Prick the wider end of each egg with a pin to prevent cracking. Put the eggs in a pan, cover with water, bring to the boil and cook for 5 minutes. Run under the cold tap to cool, then peel.

4. Clean the frying pan and toast the cumin and fennel seeds together. (Pound them to a powder with a pestle and mortar, if liked, or leave whole.) Add the mace, cayenne, ginger and butter; fry gently over a low heat for 1 minute, to make a paste. Add the infused milk, then bring to a simmer; season. Pour this over the fish and rice, and mix carefully. If it is too dry, add a little more milk. Halve the eggs and place on top. Scatter over the coriander and sesame or nigella seeds; serve warm or at room temperature.