Lightly salt the fish and set aside.
In a large saucepan, warm the coconut oil over a medium heat until simmering. Add in the garlic, cardamom, ginger, curry leaves and chilli. Let this sauté until fragrant – usually around 30 seconds. Add the onion slices and cook until softened, around 5–7 minutes. Add the rest of the spices: the fennel, cumin, turmeric and black pepper. After around a minute they will mingle together and become aromatic.
At this point, transfer everything into a food processor and blend to a coarse paste. Return the paste back to the pan over a medium heat, pour in the coconut milk, holding back one tablespoon for drizzling at the end, and pop in the cinnamon stick and ½ teaspoon salt.
Bring to a simmer and gently add the fish pieces to the sauce. They will cook fairly quickly. After 5 minutes, the fish should be tender, opaque and cooked throughout and the curry will be ready to serve. Drizzle over the extra coconut milk, scatter with the coriander and serve with a heap of rice.