Prepare the ingredients.
Marinate the fish head pieces with 1/2 tbsp of salt in two parts. Rub each piece carefully and thoroughly to distribute the salt each time. Set it aside.
Blend together the shallots, garlic, ginger, chilli powder, fish curry powder, and 200ml of water until well combined. Add another 75ml of water if necessary to help with the blending. Set it aside.
Heat the cooking oil in a large wok over medium heat until warm. Add the cinnamon stick, star anise and cloves to the wok. Stir fry for 30 seconds, or until very fragrant.
Add the mixed spices (halba campur), and stir fry for 10 seconds, or until its aroma is released.
Strip the curry leaves and add them to the oil. Stir fry until a sweet aroma is released.
Pour the blended curry paste into the wok, scraping the sides. Stir fry continuously until the cooking oil and the curry paste are well combined.
An optional step: reduce the heat to low, and pour 200ml of coconut milk into the blender. Swirl it to get the stubborn bits off the walls of the blender, before pouring it all into the wok. Set the heat to medium-high again.
Continue stirring the curry paste for 8-10 minutes, or until it becomes thick and dry; to the point that it stays stuck to the turner when lifted.
Add the (rest of the) coconut milk. Stir and mix until well combined.
Add the asam keping and stir to combine.
Raise the heat to medium-high and bring the curry to a boil. Stir to mix often to prevent the paste from burning at the bottom of the wok.
Once the curry is boiling vigorously, submerge each piece of fish head, with placing the biggest in the center. Avoid stirring or moving the fish pieces as much as possible. Cover the wok and braise for 6 minutes. In between, gently push the curry paste under fish pieces to prevent burning.
After 6 minutes, carefully arrange the fish so they are cooked evenly.
Taste and adjust. I added 1/8 tsp of salt and 1/2 tbsp of sugar.
Add the tomatoes and okra, without submerging them. Cover the wok and cook for 1.5 minutes by steaming them.
Open the cover and give the vegetables a stir. Cover the wok and cook for another 1.5 minutes for crunchy okra, or 3-4 minutes for soft okra.
Stir the curry. Taste and adjust.
Switch off the heat.
Tear fresh cilantro leaves and garnish the wok.
Let it rest for about 2 hours, or serve immediately.