Gefilte Fish Recipe

Servings: 12 Total Time: 1 hr 15 mins Difficulty: medium
Traditional Jewish Gefilte Fish for Shabbat
Gefilte Fish Recipe

It’s simple food, but not boring. It’s soft, slightly sweet, kind of delicate. And once I tried making it myself, I realized this recipe is more about patience than skill. You slow down a bit, and it turns out better.

I’ve made it a handful of times now, and each time I tweak something. Sometimes I rush the chilling step and regret it. Sometimes I get the seasoning just right and feel weirdly proud. It’s one of those recipes that teaches you as you go.

Ingredients I Used for the Recipe

  • 500 g mixed white fish (like cod, haddock, or hake) – this is the base, gives that soft, clean flavor
  • 1 small onion, finely chopped – adds a little sweetness and depth
  • 40 g matzo meal – helps bind everything together without making it heavy
  • 1 teaspoon sugar – just enough to give that traditional slight sweetness
  • 1 teaspoon salt – brings everything together
  • 1 egg, lightly beaten – acts as the glue for the mixture
  • A small dash of white pepper – subtle heat without overpowering
  • 1 liter water – for the stock
  • Fish bones or head (non-oily) – this builds a light, clean stock
  • 1 large carrot, sliced – adds flavor and also used for topping later
  • 1 small onion, quartered – rounds out the stock
  • 1 teaspoon salt (for stock) – seasoning the broth
  • 1 teaspoon sugar (for stock) – balances the flavor
  • 5 white peppercorns – gentle spice in the background

How to make Gefilte Fish?

Gefilte Fish Recipe

Step 1 – Build the stock first

I always start here because it sets the tone for everything else. I toss the water, fish bones, carrot slices, onion, salt, sugar, and peppercorns into a pot and bring it to a boil.

Once it starts bubbling, I skim off that foam on top. Not the most exciting part, but it makes the stock cleaner. Then I let it simmer for about 30 minutes. The smell alone tells me it’s working.

Step 2 – Strain and save the good stuff

After simmering, I strain the stock carefully. I keep the carrot slices aside because those go on top later. I learned that the hard way after accidentally mashing them once. Not pretty.

The liquid should look light, not cloudy. If it smells clean and slightly sweet, you’re on track.

Step 3 – Prep the fish mixture

I pulse the fish in a food processor just a few times. This part matters more than I expected. Too much and it turns into paste, too little and it doesn’t hold together well.

I aim for finely chopped, not smooth. It should still have a bit of texture when you touch it.

Step 4 – Mix everything together

In a big bowl, I combine the fish with matzo meal, sugar, salt, and white pepper. I mix it gently with a spoon first, then add the egg.

At the end, I switch to using my hands. Not squeezing, just folding it together. That took me a couple tries to get right. Overmixing makes them dense.

Step 5 – Let it rest

I cover the bowl and stick it in the fridge for about 30 minutes. I used to skip this when I was impatient, and the texture always suffered. Resting helps everything bind properly.

Now I just use that time to clean up or scroll my phone a bit.

Step 6 – Shape the fish balls

I wet my hands slightly so the mixture doesn’t stick. Then I shape them into oval balls, kind of flattened. They don’t have to be perfect. Mine never are.

As long as they hold together, you’re good.

Step 7 – Poach gently

I bring the stock back to a gentle simmer, not a full boil. Then I lower the fish balls in carefully. Dropping them in too fast can break them apart, and yeah, I’ve done that before.

I let them cook for about 30 minutes. Sometimes in batches if the pot is crowded.

Step 8 – Finish and chill

Once they’re cooked, I transfer them to a dish. Then I reduce the stock a bit so the flavor gets stronger and pour it over the fish balls.

I top each one with a carrot slice. Then comes the hardest part… waiting. They really do taste better after chilling overnight. I’ve tried sneaking one early and it’s just not the same.

What surprised me the most

I didn’t expect such a simple recipe to feel this satisfying. There’s something about making the stock from scratch that makes a difference. It’s not complicated, just a little time and attention.

Also, the texture. I used to think it would be mushy, but when done right, it’s soft but holds together nicely. Kind of delicate, not heavy at all.

And that slight sweetness? I wasn’t sure about it at first, but now it’s the part I look forward to.

Tips

Don’t over-process the fish

This is probably the easiest mistake to make. If it turns into a paste, the final texture gets too dense. Keep it slightly coarse.

Let the mixture rest

I know it’s tempting to skip, but it really helps everything come together. The difference shows in how well the fish balls hold their shape.

Keep the poaching gentle

A rolling boil will break them apart. I keep the heat low so the water barely moves.

Use homemade stock if you can

I’ve tried shortcuts, but honestly, making your own stock takes just 30 minutes and tastes so much better. It’s lighter and cleaner.

Chill before serving

This one matters more than I expected. The flavor settles, and the texture firms up just enough. Cold is the way to go here.

Don’t stress about shape

They don’t need to look perfect. Mine never do. As long as they taste good, that’s what counts.

The way I actually like to eat it

I usually serve it straight from the fridge, with a bit of horseradish on the side. That sharp kick against the mild fish works really well.

Sometimes I keep it simple. Sometimes I go back for seconds without even thinking. It’s one of those quiet dishes that grows on you.

And yeah, it took me a couple tries to really get it right. But now it feels like one of those recipes I’ll keep coming back to, not because it’s flashy, but because it just feels… right.

Gefilte Fish Recipe

Difficulty: medium Prep Time 15 mins Cook Time 30 mins Rest Time 30 mins Total Time 1 hr 15 mins
Cooking Temp: 95  C Servings: 12 Estimated Cost: $ 15 Calories: 68
Best Season: Year-round, Passover, Shabbat, Jewish holidays

Description

Gefilte means "stuffed fish" in Yiddish and Gefilte Fish is a slightly sweet mixture of minced fish, onions and spices that resembles quenelles. Originally, this fish paste was stuffed back into the fish skin and poached in a simple homemade fish stock but now, you're more likely to find them in the form of oval fish balls. Traditionally served on Shabbat and Jewish holidays by Ashkenazi Jews, this delicate poached fish dish is perfect as a first course and beautifully presented with carrot slices and horseradish relish.

ingredients

For the fish balls

For the fish stock

Instructions

Make the fish stock

  1. Place water, fish bones or head, carrot, quartered onion, salt, sugar, and white peppercorns in a saucepan and bring to a boil.
  2. Skim off any scum that rises to the surface.
  3. Simmer for 30 minutes, then strain the stock, carefully reserving the carrot slices for decoration without breaking them.

Prepare the fish balls

  1. Pulse the fish meat a few times in a food processor until finely chopped or minced, being careful not to turn it into a paste. Transfer to a large bowl.
  2. Sprinkle the matzo meal, sugar, salt, and white pepper over the fish and mix well with a wooden spoon.
  3. Add the lightly beaten egg and mix thoroughly to bind the mixture. Finish mixing gently with your hands, avoiding squeezing the paste.
  4. Cover the bowl with cling film and refrigerate for 30 minutes to firm up the mixture.
  5. After chilling, wet your hands and form the fish paste into oval-shaped fish balls, slightly flattened on one side.

Poach and finish

  1. Bring the reserved fish stock to a gentle simmer in a large saucepan. Carefully lower the fish balls into the stock, cover, and poach for 30 minutes. Work in batches if needed to avoid overcrowding.
  2. Using a slotted spoon, transfer the cooked fish balls to a large shallow serving dish.
  3. Return the poaching liquid to the heat and reduce by half. Pour the reduced stock over the fish balls in the serving dish.
  4. Decorate each fish ball with a reserved carrot slice and chill in the refrigerator overnight before serving.

Nutrition Facts

Servings 12


Amount Per Serving
Calories 68kcal
% Daily Value *
Total Fat 1gg2%
Saturated Fat 0.3gg2%
Trans Fat 0gg
Cholesterol 20mgmg7%
Sodium 200mgmg9%
Potassium 150mgmg5%
Total Carbohydrate 4gg2%
Dietary Fiber 0.5gg2%
Sugars 1gg
Protein 10gg20%

Calcium 2% mg
Iron 4% 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

  • Make your own stock: Homemade fish stock creates a light, flavorful aspic when chilled, elevating the dish beyond store-bought versions.
  • Serving suggestion: Traditionally served with chrain, a horseradish relish, and a slice of carrot on top for classic presentation.
  • Make ahead: This dish improves with time; prepare a day ahead and chill overnight for best flavor and texture.
  • Fish selection: Use a combination of mild white fish like cod, hake, or haddock for authentic flavor and texture.
Keywords: gefilte fish, jewish recipe, shabbat, fish balls, traditional jewish food, ashkenazi cuisine, poached fish, passover recipe

Frequently Asked Questions

Expand All:

Can I make gefilte fish ahead of time?

Yes! Gefilte fish is actually best when made a day ahead. After poaching, chill overnight in the reduced stock to allow flavors to meld and a light aspic to form.

What is chrain and where do I find it?

Chrain is a traditional horseradish relish, often mixed with beets for color and a touch of sweetness. It's commonly found in Jewish delis, kosher sections of grocery stores, or you can make your own with grated horseradish, vinegar, sugar, and cooked beets.

Can I freeze gefilte fish?

Yes, you can freeze unpoached fish balls for up to 1 month. Poach from frozen, adding a few extra minutes to the cooking time. However, for best texture and flavor, fresh preparation is recommended.

Kelsey Perez Food & Lifestyle Blogger

I’m a London-based food writer, recipe developer, and home cook who has been passionate about cooking for over 15 years. What started as a way to recreate my mother’s traditional dishes turned into a lifelong love for experimenting with flavors, writing about food, and helping others feel more confident in the kitchen.

Leave a Comment