Toast the Whole Spices: Toast the coriander, cumin, fennel, black peppercorns, and white peppercorns in a dry skillet over medium heat until they darken slightly and become fragrant, about 1 minute.
Grind the Curry Powder: Remove the toasted spices from the heat and transfer them to a mortar or spice grinder, let them cool for 1 minute, then grind until finely ground and stir in the turmeric and Kashmiri chile powder.
Make the Aromatic Paste: Using the same mortar without wiping it clean, pound the garlic and ginger together until they form a smooth paste.
Brown the Eggplant: Heat 1 tablespoon of the oil in a large sauté pan or medium Dutch oven over medium-high heat until shimmering, arrange the eggplant in a single layer, and cook until the first side is lightly browned, about 2 minutes.
Turn the Eggplant: Flip the eggplant pieces and cook the second side until lightly browned, about 2 minutes, then transfer them to a plate; the eggplant should be colored but not fully cooked.
Bloom the Seeds: Add the remaining 2 tablespoons oil to the same pan and reduce the heat to medium-low, then add the mustard seeds, fenugreek seeds, cumin seeds, and fennel seeds and cook, stirring occasionally, until fragrant and the mustard seeds begin to sputter, about 30 seconds.
Soften the Onion: Add the thinly sliced onion, season with salt, and cook while stirring often until the onion begins to soften, 6 to 7 minutes.
Build the Tomato Base: Stir in the garlic-ginger paste and diced tomatoes, then cook until the tomatoes begin to break down and form a sauce, about 10 minutes.
Prepare the Curry Paste: Meanwhile, slowly whisk 1/2 cup (120 ml) water into the prepared curry powder until it forms a smooth paste.
Thicken the Curry Base: Stir the curry paste into the broken-down tomatoes and cook until the mixture thickens, about 5 minutes.
Add the Curry Leaves: Stir the curry leaves into the skillet and cook until fragrant, about 1 minute.
Add Tamarind: Stir in the tamarind paste and 2 cups (475 ml) water, scraping the bottom of the skillet to loosen any bits stuck to the pan.
Add the Fish and Vegetables: Arrange the fish head halves, reserved eggplant, sliced okra, and green chiles in the skillet, making sure the liquid reaches at least two-thirds of the way up the sides of the fish heads; add more water if necessary.
Simmer the Curry: Add a large pinch of salt and bring the curry to a boil over medium-high heat, then cover the pan, reduce the heat to low, and simmer until the fish heads and okra are fully cooked, about 20 minutes.
Finish the Curry: Stir in the sugar and coconut milk, season with salt, and simmer for another 5 minutes.
Serve Warm: Remove the curry from the heat and serve warm with cooked white rice or warm flatbreads.