Russian Fish Soup (Ukha) with Potatoes and Fresh Dill

Updated November 4, 2026

Total time
1 hr 6 min
prep 20 min · cook 46 min
Serves
6
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Russian Fish Soup (Ukha) with Potatoes and Fresh Dill

Russian fish soup, often called ukha, is a clear, gently simmered soup of fish, potatoes, onion, and dill. Recipes vary with the region and the catch; this practical version uses fish stock or water and tender chunks of white fish for a clean, savory broth that is served hot.

Ingredients

  • 8 cups (1.9 L) fish stock, or water for a lighter broth
  • 1½ lb (680 g) skinless white fish fillets, such as cod, pollock, haddock, or pike, cut into 1½-inch (4 cm) pieces
  • 1 medium yellow onion (about 7 oz / 200 g), peeled and cut in half
  • 1 medium carrot (about 3 oz / 85 g), peeled and cut into thick slices
  • 1½ lb (680 g) Yukon Gold or other waxy potatoes, peeled if desired and cut into ¾-inch (2 cm) cubes
  • 2 bay leaves
  • 8 whole black peppercorns
  • 1½ tsp fine salt, plus more to taste
  • ¼ tsp freshly ground black pepper
  • ½ cup (15 g) loosely packed fresh dill, finely chopped, divided
  • 1 tbsp (15 ml) fresh lemon juice, plus lemon wedges for serving

Instructions

  1. Prepare the fish and vegetables. Cut the fish into similar-sized pieces so they cook evenly, and refrigerate it while you start the broth. Peel and cut the potatoes, carrot, and onion. If the fish has pin bones, run your fingers over each piece and pull any you find with clean tweezers. Keep the pieces chilled until they go into the soup.
  2. Make a lightly seasoned broth. Pour the fish stock or water into a large, heavy-bottomed pot. Add the onion halves, carrot, bay leaves, peppercorns, and 1½ teaspoons salt. Bring just to a boil over medium-high heat, then reduce the heat so the liquid barely simmers. Cook uncovered for 20 minutes. A quiet simmer helps keep the broth clearer than a hard boil, which can break up the vegetables and make the liquid cloudy.
  3. Strain and cook the potatoes. Lift out and discard the onion halves, bay leaves, and peppercorns with a slotted spoon. Leave the carrot in the pot for a sweeter, fuller soup, or remove it if you prefer a particularly clear broth. Add the potatoes and bring the liquid back to a gentle simmer. Cook for 15 minutes, or until the cubes are nearly tender when pierced with a knife. Avoid vigorous boiling; the potatoes should hold their shape.
  4. Add the fish and finish cooking. Lower the fish pieces into the soup in a single layer as much as possible. Keep the liquid at a gentle simmer and cook for about 8 minutes, turning the pieces once only if needed. Check the thickest piece with a food thermometer: USDA FSIS guidance sets the safe minimum internal temperature for fish at 145°F (63°C). The flesh should also look opaque and separate readily into flakes. Add the ground black pepper and half of the chopped dill.
  5. Rest and season. Take the pot off the heat and let the soup stand for 3 minutes so the flavors settle. Stir in the lemon juice, taste the broth, and add salt or a little more lemon if needed. Fold gently so the cooked fish stays in large pieces. Serve with the remaining dill scattered over each bowl.

Tips

  • Choose fish that holds together. Cod, haddock, pollock, and pike work well when cut into generous chunks. Very delicate fish can break apart as you stir, while oily fish such as mackerel will give the broth a stronger flavor. If using frozen fillets, thaw them in the refrigerator and pat them dry before cutting.
  • Use stock for depth, water for a gentler taste. Unsalted or low-sodium fish stock makes a more savory soup, but plain water is a reasonable option and lets the fish flavor come through. If your stock is salted, start with less salt than listed and adjust at the end.
  • Keep the simmer calm. A rolling boil can make fish fall apart and potatoes crumble. Once the fish is added, move it as little as possible and avoid stirring the pot; gently tilt or swirl it instead if the pieces need to shift.
  • Use dill near the end. Fresh dill gives the soup its bright, grassy finish. Dried dill can substitute in a pinch, but it tastes less fresh; use about 1½ teaspoons dried dill and add it with the potatoes so it has time to soften. Add a little fresh dill at the table if available.

Serving Suggestions

Serve ukha in warmed bowls while the broth is hot, making sure every portion gets potatoes, carrot, and several pieces of fish. Offer lemon wedges, extra chopped dill, and black pepper at the table so each person can adjust the brightness and seasoning. Rye bread, dark bread, or a simple crusty loaf is useful for soaking up the broth; butter on the side is optional.

For a fuller meal, pair the soup with a cucumber and radish salad dressed lightly with vinegar, or serve it before a small plate of roasted vegetables. Keep side dishes relatively simple: the soup is delicate, and a heavily spiced or creamy accompaniment can overpower its mild fish and herb flavors. If serving guests, ladle carefully rather than stirring the pot at the table so the fish pieces remain intact.

Variations

Use a mix of fish. Combine two mild white fish, or replace up to one-third of the white fish with salmon or trout for a richer taste and a slightly more colorful bowl. Firm river fish such as pike are traditional choices in some versions, but they may have more bones; carefully debone them before serving. Any substitute should be cut to a similar size and cooked until it reaches 145°F (63°C).

Add other vegetables. A small piece of celery or a few slices of leek can simmer with the onion and carrot, adding a mild aromatic note. For a heartier soup, add ½ cup (80 g) of thinly sliced leek with the potatoes. Avoid adding too many vegetables at once, since they can crowd the pot and make the broth taste more like a vegetable stew than a fish soup.

Make it more rustic. Instead of straining out the onion, dice it finely and leave it in the soup; the broth will be less clear but more substantial. You can also leave the potato skins on after scrubbing them well. Some regional and household versions use fish heads or bones to make stock, while others use whole small fish. This streamlined recipe uses ready-made stock or water and boneless fillets for easier serving.

Adjust the finish. Lemon is a convenient bright accent, but a small splash of mild vinegar can work if lemons are unavailable. Add it gradually at the end rather than making the broth sharply sour. You can also leave the citrus out and let diners season their own bowls. Fresh parsley may supplement dill, but replacing all the dill changes the characteristic herbal flavor.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, preferably in shallow, covered containers. The soup keeps for 3–4 days in the refrigerator. Fish can become firmer and more prone to breaking after storage, so handle portions gently when transferring them to a saucepan.

Reheat only the amount you plan to eat in a covered saucepan over low to medium-low heat, stirring as little as possible. Bring leftovers to 165°F (74°C), checking the broth and fish with a food thermometer; do not rely on steam or a few bubbles alone. Avoid repeatedly warming and cooling the full pot. The soup can be frozen for about 2–3 months for best quality, though potatoes may soften and fish may lose some of its original texture. Thaw it in the refrigerator before reheating to 165°F (74°C).

Frequently Asked Questions

What does ukha mean?
Ukha is the Russian name commonly used for fish soup. The word refers to a family of preparations rather than one fixed ingredient list, so the fish, vegetables, and details of the broth vary by region, season, and household. This recipe is a simple version with a clear broth, potatoes, and dill.

Can I make Russian fish soup with frozen fish?
Yes. Thaw the fish in the refrigerator, not on the counter, and drain and pat it dry before cutting it into pieces. Add it only after the potatoes are almost tender, then cook it to 145°F (63°C). Fish added while still frozen may cool the broth and cook unevenly, so thawing first gives more predictable results.

Can I make the soup ahead?
You can prepare the broth and cook the potatoes several hours ahead, then cool and refrigerate them promptly. Reheat the broth until steaming, add the chilled fish, and cook it to 145°F (63°C) just before serving. This keeps the fish from being cooked twice and becoming dry or broken up.

Why is my broth cloudy?
A cloudy broth is usually still fine to eat. It can happen when the liquid boils vigorously, the fish is stirred or broken apart, or the potatoes release starch. Keep the broth at a gentle simmer, strain out the aromatics if you want a clearer look, and handle the fish gently. Clarity is mostly a matter of appearance and texture, not a reason to discard properly handled soup.

What can I use instead of fish stock?
Water is the simplest substitute and produces a lighter, more delicate soup. A mild, low-sodium vegetable stock can also work, though it shifts the flavor toward vegetables. Avoid strongly flavored stocks, such as concentrated shellfish stock, unless you specifically want them to dominate the fish and dill.

How do I know when the fish is done?
Check the thickest piece with a food thermometer and cook it to 145°F (63°C), the USDA FSIS safe minimum for fish. At that point the flesh should be opaque and flake easily. Because pieces can vary in thickness, check more than one if they are not cut evenly, and remove the pot from the heat once the safe temperature is reached.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).