This gefilte fish has a way of bringing people together without trying too hard. It’s one of those recipes that feels a little old-fashioned at first, but once you taste it, everything clicks into place.
I learned it slowly, step by step, watching hands move with quiet confidence. There’s something grounding about shaping each piece, knowing this dish has been made the same way for years.
The texture, the gentle sweetness, the soft aroma from the broth - it all feels comforting in a way that’s hard to explain. It’s not flashy, but it stays with you.
And once you make it yourself, you start to understand why people hold onto it so tightly. It becomes more than just a recipe.
Ingredients Needed for the Recipe
Salmon fillets - adds richness and a slightly buttery flavor
Red snapper fillets - brings a mild, clean taste
Black cod fillets - gives softness and depth
Ling cod fillets - balances the mix with a firm texture
Onions - provide sweetness and body to the mixture and broth
Carrots - add subtle sweetness and color
Eggs - help bind everything together
White sugar - enhances the natural sweetness of the fish
Salt - brings out all the flavors
Ground white pepper - adds gentle warmth without overpowering
Ice water - keeps the mixture light and smooth
Matzo meal - helps hold the fish balls together
Paprika - adds mild depth to the broth
Ground black pepper - gives a slightly sharper note to the broth
How to make Gefilte Fish?
Step 1 - Prepare the Fish Mixture
Start by grinding all the fish together with some of the onions and carrots. Take your time here, because the texture really matters.
Once everything is combined, transfer it to a large bowl. It should look slightly coarse but evenly mixed.
Step 2 - Add Eggs Gradually
Add the eggs one at a time, mixing well after each addition. This helps everything blend smoothly instead of turning clumpy.
You’ll notice the mixture becoming softer and more cohesive as you go. That’s exactly what you want.
Step 3 - Season and Adjust Texture
Add sugar, salt, and white pepper, then continue mixing. Slowly pour in the ice water while working the mixture.
Once that’s done, add matzo meal until it holds together. It should feel firm enough to shape, but still soft.
Step 4 - Prepare the Cooking Broth
Fill large pots with water and add sliced onions and carrots. If you have fish skins, you can add them too for extra flavor.
Season with sugar, paprika, black pepper, and salt. Let it come to a boil and cook for a few minutes.
Step 5 - Shape the Fish Balls
Wet your hands slightly and shape the mixture into oval balls. This step feels simple, but it’s oddly satisfying.
Gently drop each piece into the boiling broth. Try not to rush, so they hold their shape.
Step 6 - Cook Slowly
Lower the heat and let the fish balls cook gently for about two hours. Keep the pot slightly covered.
The slow cooking helps them absorb flavor while staying tender. You’ll start to smell it filling the kitchen.
Step 7 - Rest and Cool
Once cooking is done, turn off the heat and let everything sit for a few minutes. This helps the texture settle.
Carefully remove the fish balls and strain the broth over them. Chill before serving for the best flavor.
Serving Suggestions
Gefilte fish is best served cold, straight from the fridge. The texture firms up nicely, and the flavors feel more balanced.
I usually place them on a simple plate with a bit of the strained broth. Nothing fancy, just clean and traditional.
A small spoonful of horseradish on the side works beautifully. That sharp bite cuts through the softness in the best way.
You can also serve it as part of a larger meal, especially during holidays. It fits right in without needing attention.
Tips
Keep your hands wet while shaping to prevent sticking
Don’t skip the ice water - it keeps the mixture light
If the mixture feels too loose, add a bit more matzo meal
Cook on low heat to avoid breaking the fish balls
Let the fish rest before removing to keep them intact
Chill completely before serving for the best texture
Taste the broth early and adjust salt if needed
Storage and Make-Ahead Ideas
This dish actually gets better after a day in the fridge. The flavors settle in, and everything feels more complete.
I usually make it ahead when I know I’ll need it. It takes the pressure off and somehow tastes even better.
Store the fish balls in their broth, just barely covered. This keeps them moist and prevents drying out.
They hold well for several days, making them perfect for planning ahead without worry.
Small Variations You Can Try
Some people like to adjust the sweetness slightly, adding a touch more sugar or keeping it more savory. Both ways work, it just depends on your taste.
You can also experiment with the fish blend. Keeping a mix of textures is key, but small swaps can still turn out great.
Adding extra carrots to the broth gives a sweeter finish. It’s a subtle change, but noticeable in a good way.
Over time, these little tweaks become your own version of the recipe. That’s when it really starts to feel personal.
This authentic gefilte fish recipe has been passed down through generations of the Mintz family, featuring a delicate blend of salmon, red snapper, black cod, and ling cod. These tender, oval-shaped fish balls are poached in a fragrant broth with onions and carrots, then chilled to perfection. A beloved tradition for Passover and Rosh Hashanah, this recipe delivers the classic sweet-savory flavor that makes homemade gefilte fish so special.
ingredients
Fish Mixture
1 ½pounds salmon fillets (skin removed)
1 ½pounds red snapper fillets (skin removed)
1pound black cod fillets (also called sablefish)
1pound ling cod fillets (skin removed)
2 ½large onions (for grinding into mixture)
4large carrots (for grinding into mixture)
5large eggs (room temperature)
1 ½tablespoons white sugar
4teaspoons salt (plus more to taste)
4teaspoons ground white pepper
¾cup ice water
¾cup matzo meal (plus more as needed for binding)
Poaching Broth
2large onions (sliced, for broth)
2large carrots (sliced, for broth)
4tablespoons white sugar (divided between pots)
½teaspoon paprika (divided between pots)
½teaspoon ground black pepper (divided between pots)
as needed salt (for broth seasoning)
optional fish skins (for extra flavor in broth)
Instructions
Prepare the Fish Mixture
1
Grind the base ingredientsGrind salmon, red snapper, black cod, ling cod, 2 ½ onions, and 4 carrots together using a meat grinder or food processor. Place the mixture into a large wooden bowl.
Keep ingredients cold for best texture
2
Incorporate eggsUsing a hand chopper or sturdy spoon, add eggs one at a time, mixing well after each addition until fully incorporated.
Mix thoroughly to ensure even binding
3
Season and bindAdd 1 ½ tablespoons sugar, 4 teaspoons salt, and white pepper; continue to chop until very well blended. Stir in ice water a little at a time throughout this process. Add matzo meal and chop again until mixture is thick enough to bind together to make a ball; if not, add more matzo meal. Set aside.
Test by forming a small ball; it should hold its shape
Prepare the Poaching Broth
4
Set up stockpotsFill 2 large heavy stockpots half full with water. Slice 1 raw onion and 1 carrot into each stockpot. Add fish skins, if desired.
Use heavy pots to maintain even heat
5
Season the brothDivide 4 tablespoons sugar, paprika, and black pepper evenly between each pot. Season with salt. Bring to a boil over medium heat and let boil for 10 minutes.
This infuses the broth with flavor before adding fish balls
Form and Cook Gefilte Fish
6
Shape the fish ballsUsing wet hands, shape fish mixture into oval-shaped balls and carefully drop into boiling stock.
Wet hands prevent sticking; work quickly to keep mixture cold
7
Poach gentlyCover the stockpots slightly and cook over medium-low heat for 2 hours. Remove from heat and let balls sit in the pot for 10 minutes.
Maintain a gentle simmer; boiling too vigorously may break the balls
8
Cool and storeRemove balls carefully to containers and strain remaining stock over balls, just barely covering them. Chill in the refrigerator before serving. Store in the refrigerator for up to 6 days.
Gefilte fish is traditionally served cold with horseradish
Nutrition Facts
Servings 10
Serving Size 4 gefilte fish balls (approx. 200g)
Amount Per Serving
Calories195kcal
% Daily Value *
Total Fat4gg7%
Saturated Fat1gg5%
Trans Fat0gg
Cholesterol110mgmg37%
Sodium520mgmg22%
Potassium485mgmg14%
Total Carbohydrate15gg5%
Dietary Fiber2gg8%
Sugars8gg
Protein25gg50%
Calcium 4% mg
Iron 6% mg
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
Keep it cold: Work with chilled ingredients and keep the fish mixture cold while shaping to maintain texture and prevent sticking.
Test for doneness: A properly cooked gefilte fish ball will float to the surface and feel firm but springy to the touch.
Adjust sweetness: Traditional gefilte fish has a subtle sweetness; adjust sugar in the broth to your family's preference.
Make ahead: Gefilte fish tastes even better the next day! Prepare up to 3 days in advance for enhanced flavor.
Serving tip: Serve chilled with prepared horseradish, beet horseradish, or a slice of carrot from the broth as garnish.
Keywords:
gefilte fish, passover recipe, jewish holiday food, traditional fish balls, rosh hashanah, mintz family recipe