In a pot, add the fish heads in the two liters of water, along with the garlic and chopped onion, a sprig of parsley, celery, salt, and pepper, and cook for 30 minutes over medium-low heat.
After this time, strain and reserve the broth.
Then, blend the tomato with a little hot water, strain, and reserve.
In a pot, heat the oil and brown the tomato, that is, cook for about 4 minutes. Add the broth, vegetables, and bay leaf.
When it starts to boil, add the pieces of fish.
Let cook for 15 more minutes and rectify the flavor.
Serve in a deep dish and add some parsley or coriander.
If you wish, you can pass the soup to the blender to obtain a fish cream, as I have done in this recipe.