Czech fish soup is a savory soup traditionally associated with Christmas Eve, often made with carp, root vegetables, and a broth thickened with butter and flour. This version uses a gently simmered fish stock and a little cream for a smooth, comforting bowl; Czech households make it in different styles, including clear and creamier versions.
Ingredients
- 2 lb (900 g) carp head and bones, rinsed; ask the fishmonger to remove the gills, or use a fish frame with the gills removed
- 8 cups (1.9 L) cold water
- 1 medium yellow onion, peeled and halved, about 1 cup (150 g)
- 1 medium carrot, cut into large pieces, about 1 cup (130 g)
- 1 celery stalk, cut into large pieces, about ½ cup (50 g)
- 1 bay leaf
- 6 whole black peppercorns, about ½ teaspoon (1 g)
- 1 teaspoon (6 g) fine salt, divided, plus more to taste
- 1 cup (130 g) carrot, peeled and diced into small pieces, for the soup
- ½ cup (80 g) peeled celeriac, diced small
- ½ cup (70 g) peeled parsnip, diced small
- 3 tablespoons (42 g) unsalted butter
- ¼ cup (30 g) all-purpose flour
- 1 lb (450 g) boneless carp fillet, pin bones removed and cut into ¾-inch (2 cm) pieces
- ¾ cup (180 ml) heavy cream
- 2 tablespoons (8 g) chopped fresh parsley
- ⅛ teaspoon (0.3 g) ground black pepper, or to taste
- 2 cups (60 g) small bread croutons, optional, for serving
Instructions
- Prepare the fish and vegetables. Check that the carp head has no gills, which can make stock bitter, and rinse the bones under cold water. Keep the boneless fillet chilled while the stock cooks. Dice the soup vegetables small so they soften evenly and are easy to eat from a spoon. If your fishmonger has not removed pin bones, feel along the fillet and pull them out with clean tweezers.
- Simmer the fish stock for 35 minutes. Put the fish head and bones in a large pot with the cold water, halved onion, large carrot pieces, celery, bay leaf, peppercorns, and ½ teaspoon (3 g) of the salt. Bring just to a gentle simmer over medium heat, skimming off any gray foam that gathers on top. Lower the heat so the liquid barely bubbles, and simmer uncovered for 35 minutes. Avoid a hard boil, which can break up the bones and make the stock cloudy or harsh.
- Strain the stock and cook the diced vegetables. Set a fine-mesh strainer over a clean pot and carefully pour the stock through it; discard the bones and cooked stock vegetables. Do not pick meat from the cooked head unless you are confident it is free of small bones. Add the diced carrot, celeriac, and parsnip to the strained stock. Bring it to a gentle simmer and cook for 10 minutes, until the vegetables are nearly tender but still hold their shape.
- Make a light roux. While the vegetables cook, melt the butter in a small saucepan over medium-low heat. Whisk in the flour and cook for 3 minutes, stirring constantly, until the mixture is smooth and pale golden. Keep it from browning deeply: a dark roux will give the soup a toasted flavor and a darker color. Ladle about 1 cup (240 ml) of hot stock into the roux a little at a time, whisking until smooth, then whisk this mixture back into the soup pot.
- Thicken the soup gently. Simmer the soup for 2 minutes, stirring the bottom of the pot so the flour does not settle and scorch. Stir in the cream and the remaining ½ teaspoon (3 g) salt. Keep the soup below a boil after adding the cream; a gentle simmer is enough to bring everything together.
- Cook the fish and finish. Add the carp pieces and cook gently for about 5 minutes, stirring once with care so the chunks stay intact. Check the thickest piece with a food thermometer: the USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). The fish should look opaque and separate easily with a fork. Stir in the parsley and ground black pepper, taste the broth, and adjust the salt. Serve hot, with croutons if desired.
Tips
- Choose a clean-tasting fish frame. Carp is traditional, but the stock should smell fresh and mild, not strongly fishy. Ask the fishmonger to remove the gills and rinse the frame before you use it. If carp is hard to find, a mild white-fish frame such as cod or haddock makes a practical stock; the flavor will be less earthy and distinctly carp-like.
- Keep the stock at a quiet simmer. Vigorous boiling can cloud fish stock and make it taste rough. Skim foam early, and strain through a fine-mesh strainer without pressing the bones or vegetables through it.
- Whisk the roux gradually. Adding hot stock in small pours prevents flour lumps. If a few remain, strain the soup before adding the fish, rather than whisking hard once the delicate pieces are in the pot.
- Keep the fish cold until it goes into the soup. Cut it just before cooking, and do not leave raw fish at room temperature while the stock simmers. If using frozen fillets, thaw them overnight in the refrigerator and pat them dry before cutting.
Serving Suggestions
Serve Czech fish soup as a first course for a Christmas Eve meal or as a light main course with bread. Put croutons on the table separately so they stay crisp; small toasted cubes are especially useful because they add a little crunch without overwhelming the fish. A sprinkle of parsley gives each bowl a fresh finish. For a fuller meal, offer rye bread or a simple loaf alongside, and keep the soup portions modest if it is part of a larger holiday menu.
For an attractive serving, ladle vegetables and fish into each bowl first, then pour the creamy broth over them. This helps distribute the chunks evenly instead of leaving most of the fish in the pot. If serving a group, keep the soup covered over very low heat only briefly after the fish is cooked, and avoid letting it boil or sit hot for a long time; the fish can break apart and the cream may lose its smooth texture.
Variations
Use another mild white fish. If carp is unavailable, use cod, haddock, or pollock for the fillet and a matching mild fish frame for the stock. The soup will still be gently flavored, though it will not have carp’s traditional character. Do not substitute strongly flavored oily fish, which can dominate the broth.
Make it without cream. Omit the cream for a less rich bowl, or use ¾ cup (180 ml) whole milk for a lighter finish. Milk is more prone to separating if boiled, so stir it in over low heat and do not let the soup bubble hard. The butter-and-flour roux still gives the broth some body.
Try a clearer, lighter style. Leave out the roux and cream and serve the strained stock with the diced vegetables and cooked fish. This is a simpler, more broth-forward version; add the vegetables only after straining so they keep their shape. Czech recipes vary by household, and either style can suit a holiday table.
Add traditional fish roe or milt if available. Some versions include carp roe or milt, but these can be difficult to find and are not needed for a good soup. If using them, buy them fresh from a trusted fishmonger, keep them refrigerated, and cook them thoroughly in the soup; they add a more distinctly traditional richness and texture.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours of cooking in a covered, shallow container. Keep the soup refrigerated for 3–4 days. Because fish can become fragile after cooking, use a shallow ladle when serving leftovers rather than stirring vigorously. If you expect to freeze some, freeze it promptly in airtight containers for up to 2 months for best quality; cream-based soup may separate slightly after thawing, but gentle stirring while reheating can help bring it together.
Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring occasionally and avoiding a hard boil. The USDA FSIS guidance is to reheat leftovers to 165°F (74°C); check the temperature in the center with a food thermometer. If the soup has been frozen, thaw it in the refrigerator before reheating. Discard soup that has been left at room temperature for more than 2 hours, or that smells or looks spoiled.
Frequently Asked Questions
Can I make Czech fish soup without a fish head?
Yes. Use a cleaned fish frame or bones from a mild white fish to build the stock. A head adds body and a fuller fish flavor, but a frame works well if the gills and blood are removed. If you cannot get bones, use 8 cups (1.9 L) of good-quality fish stock instead and begin with the step for cooking the diced vegetables; the result will be less homemade in flavor but still practical.
Why does fish soup stock sometimes taste bitter?
The most common avoidable cause is leaving the gills in the head, so have them removed before simmering. A rolling boil, overcooked bones, or pressing solids through the strainer can also make the broth harsh or cloudy. Keep the stock at a gentle simmer for the stated 35 minutes and strain it carefully.
Can I prepare the soup ahead of time?
You can make the stock a day ahead, strain it, cool it promptly, and refrigerate it covered. The vegetables, roux, cream, and fish are best finished close to serving so the fish stays tender and the vegetables do not turn soft. Reheat the stock and continue with the recipe, then cook the fish to 145°F (63°C) just before serving.
What can I use instead of celeriac?
Use an equal amount of peeled celery root’s closest practical substitute: extra parsnip, or a small amount of celery stalk diced finely. Parsnip makes the soup slightly sweeter, while celery stalk gives it a lighter, more familiar aromatic note. Celeriac has a distinctive earthy flavor, so the swap changes the character a little but will not prevent the soup from working.
How do I keep the soup from becoming lumpy?
Cook the flour and butter together until smooth, then whisk hot stock into the roux gradually before adding it to the pot. If the soup still has small lumps, strain it before you add the fish. Avoid blending the finished soup, since that would break up the fish and change the traditional chunky texture.
Related
- Caldo de Queso: Mexican Cheese and Potato Soup Recipe
- Cajun Stew Recipe with Sausage, Chicken, and Okra
- Cajun Stew Recipe with Ground Beef and Vegetables
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).