Gefilte Fish

Gefilte fish on a serving dish with a glass of wine and and horseradish in the background


Brett Stevens / Getty Images

Prep: 45 mins
Cook: 110 mins
Total: 2 hrs 35 mins
Servings: 8 servings
Yields: 24 balls

Gefilte fish is an iconic Ashkenazic Jewish food that is often served at Passover as well as other Jewish holidays. It consists of fish, usually white-fleshed freshwater fish like carp or pike, that is chopped and mixed with ingredients such as onions, carrots, parsley, eggs, and matzah meal and formed into a loaf or individual balls or oval patties. The fish patties are then poached in a flavorful broth and chilled until ready to serve. If desired, you can use the fish mixture to stuff fish heads or pieces of fish.


  • For the Fish Balls:
  • 2 large onions, peeled and finely chopped, divided
  • 2 to 4 tablespoons canola oil (or as needed to hold mixture together)
  • 4 pounds whitefish (carp or pike, without heads and cleaned)
  • 2 large carrots, peeled
  • 2 large parsnips, peeled
  • 4 cloves garlic, peeled
  • 1/4 cup fresh parsley leaves, chopped
  • 1/2 cup matzo meal
  • 4 large eggs
  • 1 to 2 tablespoons sugar
  • 1 tablespoon paprika
  • 1 teaspoon salt, or more to taste
  • 1/2 teaspoon white pepper, or more to taste
  • For the Fish Broth:
  • 5 carrots, peeled and sliced
  • 3 onions, peeled and sliced
  • 4 garlic cloves, peeled and quartered
  • 1 to 2 tablespoons sugar
  • 1 teaspoon paprika
  • 1 to 2 tablespoons salt
  • 1/2 to 1 teaspoon white pepper
  • 4 to 6 cups water

Steps to Make It

Note: while there are multiple steps to this gefilte fish recipe, it is broken down into workable categories to help you better plan for preparation and cooking.

Make the Fish Balls

  1. Gather the ingredients.

  2. Sauté 1 of the onions in 2 tablespoons of the oil until lightly caramelized. Set aside to cool.

  3. Grind the fish in a food processor and set aside in a large mixing bowl.

  4. Grind the carrots, parsnips, the remaining finely chopped onion, garlic cloves, and parsley and place in a separate bowl.

  5. Add the reserved fried onions and the matzo meal to the ground fish.

  6. Add the ground vegetables to the fish mixture.

  7. Add the eggs, sugar, paprika, salt, white pepper, and enough of the remaining oil for the mixture to hold together nicely. Mix well. If time allows, cover the fish mixture and store in the refrigerator for 1 to 2 hours.

  8. Form the mixture into ovals, patties, or balls and set aside.

Make the Fish Stock and Cook the Gefilte

  1. Gather the ingredients.

  2. In a large soup pot, mix together sliced carrots, sliced onions, quartered garlic cloves, sugar, paprika, salt, white pepper, and 4 cups water. Bring to a boil.

  3. Reduce the stock to a simmer and gently place the fish balls into the stock. Monitor the heat so it is at a constant simmer. (If more liquid is needed to cover the fish, add water to the stock and bring to a low boil; then lower the flame to a simmer.) Cook on low for about 1 hour. Taste and adjust seasonings accordingly. Cook on low for about another 30 minutes.

  4. With cooking spray, coat pans large enough to hold all of the gefilte fish. Carefully remove the fish balls from the stock with a slotted spoon or skimmer and transfer to pans. Pour some of the fish stock over the fish. Remove carrots from the stock and place a piece of carrot on each gefilte fish. Let the fish cool.

  5. After the fish has cooled, cover and store it in the refrigerator until ready to serve. This fish also freezes well. If you freeze the fish, be sure to boil it again, then chill and refrigerate before serving.

  6. Gefilte fish is traditionally eaten cold with a horseradish sauce. Enjoy!

Recipe Tags: