Gefilte Fish Recipe photo by Taste of Home
Total Time
Prep: 1 hour Cook: 40 min. + chilling
This is not your bubbe's gefilte fish! Our step-by-step homemade gefilte fish recipe will make you forget that store-bought jar ever existed.

Updated: Apr. 02, 2024

Let’s be honest, gefilte fish has a bad rap. Amid the many delicacies of traditional Jewish holiday foods—matzo ball soup, brisket, honey cake—the humble gefilte fish is often left stranded and lonely on the table with no one asking for seconds.

Here’s a secret, though: That jar of gefilte fish that was brought home from the supermarket, the one filled with gelatinous broth and covered in a layer of dust from sitting there too long—that is not gefilte fish!

It’s an impostor, and it’s high time to treat yourself and your family to the real deal by learning how to make gefilte fish at home. Because the truth is that a real gefilte fish recipe, the kind made from scratch with fresh fish just for Passover, is entirely deserving of a spotlight on your table.

What is gefilte fish?

Closeup of Gefilte Fish served in a plate with carrots on topTMB Stuio

Gefilte fish is a traditional Ashkenazi Jewish food eaten at holidays and most often associated with the Passover Seder. Translated from Yiddish as “stuffed fish,” it was originally prepared by stuffing a mixture of ground, boneless fish into the carcass of a whole fish. It was a humble food, prepared with inexpensive fish and made in a way that stretched the cost of the ingredients as much as possible.

Gefilte fish recipes vary by region and by family, but they include a mix of fatty fish (like carp or salmon) and lean fish (like whitefish), and may or may not include onion, carrot, horseradish, sugar and matzo meal or bread crumbs. Nowadays, these fish balls are generally prepared as either egg-shaped quenelles or pressed into a loaf pan and sliced. They’re served as a cold appetizer and best enjoyed alongside horseradish relish and slices of the carrots they were cooked with.

This is an important dish in Jewish cuisine. It shows how much respect ancestors gave to it that they would give up their very limited space to keep the fish as fresh as possible until the very last minute.

Today, gefilte fish remains a classic dish that deserves to be passed down through generations.

What does gefilte fish taste like?

The flavor is quite mild. Once cooked and chilled, you’ll get a firm patty that has lots of fresh notes from the herbs and mirepoix. It’s perfect for loading up with horseradish sauce.

Gefilte Fish Ingredients

Vegetables eggs meat oil and other ingredients placed on a wooden tableTMB Studio


  • Olive oil
  • Onion
  • Carrots
  • Fennel bulb
  • Salt
  • Whole peppercorns
  • White wine
  • Water
  • Bay leaf

Fish balls:

  • Whitefish, rockfish or cod fillet
  • Salmon or trout fillet
  • Garlic
  • Onion
  • Carrot
  • Egg
  • Dill
  • Lemon juice
  • Salt
  • Black pepper
  • Sugar
  • Matzo meal


Step 1: Make the broth

Water, oil, onion, carrot, fennel and peppercorns mixed in a Dutch ovenTMB Studio

In a wide Dutch oven, add oil, onion, carrot, fennel and peppercorns. Saute on medium for 5 minutes. Add the salt, white wine, water and bay leaf. Cover, bring to a boil, then remove the lid and reduce heat, simmering for 45 minutes while you work on the fish balls.

Step 2: Prepare the fish balls

A person holding a spoon full of MixtureTMB Studio

Roughly chop the onion and carrot by hand and set aside. Cut both fillets of fish into medium-size cubes and set aside.

In a food processor, add garlic, onion and carrot and pulse until finely ground. Add the fish, and pulse until it’s finely ground and mixed well with the vegetables. (If you have a small food processor, do the fish in batches.) Don’t let the food processor run for a long time, though—pulsing is better to prevent the ingredients from turning into a paste.

Egg, dill, lemon juice and mixture combined in a large bowlTMB Studio

Put the mixture into a medium bowl and stir in the remaining ingredients: egg, dill, lemon juice, salt, pepper, sugar and matzo meal. Mix until just incorporated.

Step 3: Shape and cook

Holding fish mixture with a large bowl of fish mixture on a wooden tableTMB Studio

Wet your hands and shape the fish mixture into quenelles (the shape of an egg) about 1-1/2 to 2 inches long. Gently place the quenelles into the simmering broth—they should all be nearly submerged with broth. Cover the pot and poach on a low simmer for 30 minutes.

Step 4: Cool

Pouring some of the liquid over the fish in a small trayTMB Studio

Gently remove the gefilte fish from the broth with a slotted spoon and place in a baking dish. Strain the broth and pour some of the liquid over the fish and allow to cool. Make sure to save the carrot! Once cooled, put the gefilte fish in the fridge for at least 2 hours (preferably overnight).

Step 5: Serve

Gefilte Fish served in a large plate with carrots on topTMB Studio

Remove the fish from the liquid and arrange neatly on a serving platter. Slice the carrot into rounds and spread them out over the gefilte fish. Enjoy with horseradish, either store-bought or homemade.

How long does gefilte fish stay good for?

Like most cooked proteins, gefilte fish will stay good for a week when refrigerated. Thankfully, it’s best prepared a day ahead so the flavors have time to develop, so you’ll have one less thing to do on the busy day of your seder.

Gefilte Fish Tips

Do you serve gefilte fish hot or cold?

Gefilte fish is best served cold. The fish tastes much better chilled.

What’s the best kind of pot to cook gefilte fish in?

Whatever you do, don’t use a tall pot! Use a wide, shallow pot that all your ingredients can fit into but won’t become a steam hazard.

Can you cut this recipe in half?

If you’re having a small-scale Passover celebration, this gefilte fish recipe can easily be halved (or doubled) depending on your needs.

How do you keep the mixture from sticking to your hands?

Make sure to wet your hands when forming the patties. This will keep the fish mixture from sticking to your hands, and will make for a smoother final product.

Do you have to grind your own fish?

If your fishmonger is willing to grind the fish for you, simply skip the food processing step for the fish and add it directly to the bowl with the processed carrot and onion. In some regions, it’s common for fishmongers to grind fish for exactly this dish. Either way, your gefilte fish will be delicious.

How do you serve gefilte fish?

Gefilte fish is the sidekick to Passover’s classic main dishes. It’s generally served before the main meal at your seder, and goes great with spicy horseradish that is sure to clear your sinuses. It’s also a perfect precursor to all the classic Passover dishes, like matzo ball soupbrisket and these Passover sides.

Gefilte Fish

Prep Time 40 min
Yield 13 servings.


  • 1 tablespoon olive oil
  • 2 whole medium carrots
  • 1 fennel bulb, quartered
  • 1 medium onion, quartered
  • 1 tablespoon whole peppercorns
  • 2 quarts water
  • 1 bottle (250 milliliters) white wine
  • 1 tablespoon salt
  • 1 bay leaf
  • FISH:
  • 1 medium carrot, quartered
  • 1 small onion, quartered
  • 1 garlic clove
  • 12 ounces whitefish, rockfish or cod fillet, bones and skin removed, cubed
  • 12 ounces salmon or trout fillets, bones and skin removed, cubed
  • 1/4 cup matzo meal
  • 1 large egg, lightly beaten
  • 2 tablespoons snipped fresh dill
  • 4-1/2 teaspoons sugar
  • 1 tablespoon lemon juice
  • 2 teaspoons salt
  • 1/4 teaspoon pepper


  1. [Note to CP: contributor used 1 qt wine. I changed to a more user friendly 1 bottle. Do you need to add more water because of that? I don't think you'll have to, but just in case, feel free to add another cup or so of water to the recipe]
  2. In a large saucepan or Dutch oven heat oil over medium heat. Add carrots, fennel, onion and peppercorns. Cook and stir 5 minutes. Stir in water, wine, salt and bay leaf. Bring to a boil. Reduce heat; simmer, uncovered, 45 minutes.
  3. Meanwhile, place carrot, onion and garlic in a food processor; pulse until finely ground. Add fish; pulse until finely ground (mixture should not become paste-like). Transfer to a large bowl. Stir in matzo, egg, dill, sugar, lemon juice, salt and pepper just until combined. With wet hands, gently pat into the shape of a 2-in. egg. Gently add to simmering broth mixture. Cover and simmer on low 30 minutes.
  4. Gently remove gefilte fish and carrot from broth with a slotted spoon into a shallow dish with a rim. Strain broth mixture. Pour 1 cup strained broth mixture into dish. Save remaining strained broth and vegetables for another use. Cover and refrigerate gifelte fish and carrots until chilled, 3 hours or overnight.
  5. To serve, use a slotted spoon to arrange gifelte fish on a serving platter. Slice carrots and add to platter. If desired, garnish witih additional dill.

Nutrition Facts

1 gefilte fish: 147 calories, 3g fat (1g saturated fat), 37mg cholesterol, 415mg sodium, 7g carbohydrate (3g sugars, 1g fiber), 10g protein. Diabetic Exchanges: 1 lean meat, 1/2 starch.

Gefilte fish is usually served at Passover seder before the main meal. It goes great with spicy horseradish. Don't forget to moisten your hands with water while shaping to keep the fish mixture from sticking to your hands. —Risa Lichtman, Portland, Oregon