Purée the gravy mixture ingredients in a blender until there are no gritty bits left.
Add the coconut butter to a pan on medium heat. Once it has melted, add the onions and ginger. Sauté until slightly golden brown, stirring often, around 10-12 minutes.
Pour in the puréed tomatoes and sizzle further until the oil separates from the tomatoes (around 5-6 minutes), stirring occasionally.
Stir in the gravy mixture and cover with a lid. Continue cooking for an additional 12 minutes, stir occasionally.
Add in the mushrooms, fish, cream, water and brown sugar. Stir and simmer until the fish is thoroughly cooked (around 5 minutes). You can add water ¼ cup at a time if you prefer a saucier curry.
Taste, and add more salt if needed.