Rinse the rice, drain and add to a saucepan with the water, salt and curry powder. Put a lid on the pan, bring to the boil then reduce to a simmer for 25 minutes. Stir in the coriander and cumin.
Meanwhile, half fill another saucepan with water and bring to the boil. Gently lower the eggs in and boil them for 7 minutes. Remove from the water and run under cold water for 1 minute to cool them down and stop the cooking. Once they are cool enough to handle, peel them and cut into quarters.
Put the chunks of fish in the pan and cover with milk. Bring to the boil then simmer for 4 minutes. Turn the heat of and set aside.
Grill or fry the mushrooms with a little olive oil until soft and starting to colour.
Gently mix the fish, mushrooms and coriander leaves through the rice, adding a little of the milk to loosen it as you go so it ends up nicely moist. Sprinkle over the garam masala if using.
Divide the kedgeree between 4 bowls and top with some quarters of egg and some more coriander leaves.