Heat the oil in a large non-stick frying or sauté pan. Add the cumin seeds and fry for 1 min, then tip in the onion, garlic and ginger, and fry for 1 min more. Stir in the curry leaves and mustard seeds, and fry about
3-4 mins on a medium heat, stirring occasionally, until the onions are turning brown. Stir in the chillies, coriander, garam masala and turmeric, and fry for 30 secs.
Stir the coconut milk in the can, then pour half into the pan. It should start to bubble and thicken, so let it simmer until quite thick, about 3 mins, stirring occasionally. Pour in the rest of the coconut milk, add the pepper and a pinch of salt, and lower the heat.
Sit the fish in the coconut milk and press it down to half submerge it. Cover the pan and simmer gently for 4-5 mins (depending on the thickness of your fillets) until the fish is almost cooked. Do not stir or the fish will break up – just spoon some of the sauce over the top of the fish halfway through, then remove the pan from the heat and let the fish sit for another 3-4 mins to finish cooking slowly. When done, it should feel firm and no longer be opaque. If you want a thinner sauce, pour in a spoonful or two of water.
Meanwhile, steam the green beans for about 4 mins until just tender. De-stone the mango and slice the flesh into thin wedges (see tip below left), then scatter over the fish to warm through.
To serve, break the fish into big chunks by removing it to serving bowls with a slotted spoon, then pour the sauce over and around it. Serve with the beans, a scattering of coriander and the rice, with lime wedges on the side to squeeze over.