Rub the cleaned crabs with ½ tsp salt and ½ tsp turmeric powder. Let them marinate for 10 minutes.
Meanwhile, prepare onion and tomato pastes separately using a blender or grater. Heat mustard oil in a deep pan until it begins to smoke lightly, then reduce the heat. Add the crabs all at once and shallow-fry them for about a minute to lock in flavor. Remove the crabs and drain any excess oil.
To the remaining oil, add half the ghee. Drop in the bay leaves, dried red chilies, cinnamon stick, and green cardamom. Let the spices release their aroma on low heat for a minute.
Add the onion paste and cook it down until golden and the oil starts to separate at the edges. Stir in the ginger and garlic paste, cooking until their raw smell fades completely.
Now mix in the tomato paste and green chilies. Sauté for 2–3 minutes until the masala turns rich and the oil begins to release again.
Sprinkle in the red chili powder, sugar, ½ tsp salt, and half of the Bengali garam masala powder. Stir everything together thoroughly.
Pour in the coconut milk and stir gently to blend. Add a cup of water and bring the mixture to a rolling boil.
Return the fried crabs to the pan, ensuring they are well coated and partially submerged in the luscious gravy. Avoid adding too much liquid—just enough to cover the crabs. Simmer on medium heat for about 5 minutes until the curry thickens and clings to the crab.
Finally, stir in the remaining garam masala powder and ghee. Give it a gentle mix, and serve the crab curry piping hot with a mound of steamed rice.