To begin, rinse the fish pieces under cold water. Remove any scales or blood to ensure a clean broth. Pat dry and set aside while preparing the stock base.
Place the fish, water, whole onion, bay leaves, peppercorns, and salt into a large pot. Bring to a gentle simmer over medium heat. Skim off any foam that surfaces for a clear broth. Transition to simmering.
Lower the heat and let the broth simmer for 30 minutes uncovered. This slow cooking allows the bones and head to release their full flavour. Move on to straining the broth.
Carefully remove the fish and onion from the pot. Strain the broth through a fine sieve or cheesecloth into a clean pot. Pick out fish meat from the bones and set aside. Discard bones and skin. Proceed to cook the vegetables.
To the clear strained broth, add sliced carrots, diced potatoes, and optional celery or tomato. Bring to a gentle boil, then reduce to a simmer. Cook for 15–20 minutes or until vegetables are tender.
Add the reserved pieces of fish meat back into the pot. Season the soup with extra salt and white pepper to taste. Simmer for another 5 minutes to bring the flavours together. Prepare for garnishing.
Stir in chopped dill and parsley just before turning off the heat. Fresh herbs are essential to Ukha’s fragrance and finish. Let rest briefly before serving.
Ladle Ukha into deep bowls. Serve hot with a wedge of lemon on the side. Presentation tip: garnish with an extra sprig of dill or a thin slice of lemon for a clean, traditional touch.