First, make the curry sauce. Melt the butter in a heavy-based pan and gently cook the shallots, garlic and ginger in it without allowing them to colour. Add all the spices and cook for another minute to release their flavours. Add the flour and stir on a low heat for a minute, then gradually stir in the fish stock, bring to the boil and allow it to reduce by half. Pour in the cream and simmer until it has reduced by about two-thirds and thickened. Blend the sauce in a liquidiser or with a stick blender until smooth and strain it through a fine-meshed sieve. Adjust the seasoning if necessary.
Rinse the rice a couple of times in cold water to remove any starch and cook it in plenty of boiling salted water with the cumin and nigela seeds for about 12-15 minutes until just cooked. Briefly drain in a colander and return it to a pan off the heat with a lid on. This allows the rice to steam dry and gives it a nice light, fluffy texture.
To serve, soft boil the eggs for 5 minutes then run under the cold tap for a couple of minutes so you can peel them; you can hard boil them if you wish or cook them so that they are somewhere in between; it’s up to you. Re-heat the sauce, spoon the rice into a warmed bowl, place the egg on top and spoon the sauce over.