Make your own gefilte fish balls for Passover with this homemade gefilte fish recipe. Grind carp, whitefish and matzo meal, shape it into light and fluffy patties, and poach and simmer them in a homemade fish broth.

This post is a partnership with JDC Entwine, and I was compensated monetarily for my work. You can always count on me to only work with companies and products I love!
Inspiration
I spent years thinking my sister was quite disgusting. Her favourite foods included sliced boiled cow's tongue and fried chicken liver mousse spread on dark garlicky bread. Her favourite show was Married with Children (which our parents adamantly prohibited us from watching).
And during Passover, while I anxiously awaited my matzo ball soup or the matzo crack for dessert, all my sister could talk about was my grandmother's gefilte fish.
While I may have loved my grandmother's homemade gefilte fish as a child, once I became a vegetarian at the age of 12 I thought my sister's love for the dish was, frankly, an abomination. I refused to come anywhere near it for years, and by the time I started eating fish, I was nowhere near my grandmother on Passover.
It took me years to decide to interview my grandmother and other traditional gefilte fish cooks to learn their tips and tricks for making this homemade Jewish delicacy.

What is gefilte fish?
It is hard to imagine a more maligned dish than Polish gefilte fish, the traditional delicacy that once bewitched entire shtetls with its flavor has become synonymous with the tasteless, strange Frankenstein-concoctions that are served out of jars and made to represent the strangeness of Jewish food to non-Jews.
Gefilte fish is a traditional Jewish dish made from ground fish, usually carp, white fish, and/or pike, mixed with onions, eggs, and matzo meal, and shaped into small balls or oval patties. You can even make this gluten-free by grinding gluten-free matzos.
The fish balls are then poached in a broth made from fish heads, bones, and skin, along with vegetables such as carrots, onions, and celery. The resulting dish is a savory, flavorful appetizer or main course, often served with horseradish and/or beet relish.
In my house, jelled and jarred gefilte fish was a big no-no. Instead, my grandmother made her homemade gefilte fish recipe: glistening pink patties served on a bright green lettuce leaf, each decorated with a slice of carrot and a dollop of homemade chrein.
Pungent and acidic, my grandmother's beet chrein was a work of art in itself that sat in the fridge long after the holiday ended, and which my father proceeded to pile on kotleti (Russian meat patties) for weeks to come.

When is gefilte fish served?
Eastern European Jewish households usually serve gefilte fish on Passover. Gefilte fish is a staple of the Passover Seder, the ritual dinner that commemorates the Jewish people's Exodus from Egypt. It is one of several symbolic foods that are eaten during the Seder, each of which represents a different aspect of the Exodus story.
Gefilte fish is also a popular dish for Friday night dinner in many traditional Jewish households, where it is often served as the fish course. In some communities, it is customary to make the fish balls by hand, using a special grinder or food processor called a "gefilte fish machine."

Developing my homemade gefilte fish recipe
When JDC Entwine came and asked me to develop a Polish recipe for their expanded ReOrdered Passover kit, I just knew I had to give homemade Polish gefilte fish a go. And boy, do I take back any doubts I ever had towards my sister.
Now, if you know anything about me, it's that I love the underdog - and today, I'm here to change your mind about Polish gefilte fish. After consulting my grandmother and other Polish, Russian and Ukrainian gefilte fish makers, I am proud to present to you my favorite sweet and sour gefilte fish recipe.
Homemade Polish gefilte fish is a sweet-and-sour treat that is beloved by many, and can transcend your Passover meal from traditional and boring to unique and artisanal.

Ingredient Highlights for Gefilte Fish
For the fish broth, you will need fish heads, bones, and beets!
Fish head and bones when buying your fish, ask the fish monger to keep the head and bones in a bag for you; if you’re filleting and cleaning your own fish, make sure to keep the head and bones. I do this for my traditional Russian fish soupas well.
Beet peeled and quartered (optional; my Ukrainian grandmother does this, but it takes the recipe in a decidedly non-Polish direction. However, this will give your gefilte fish an appealing pinkish hue).
Directions to Make Gefilte Fish

Preparing Chrein
Peel beets and horseradish, and soak them in cold water for an hour (this saves you the hassle of cooking the beets).
Drain well, and grate using a box grater or a food processor fitted with a fine grating disc.
In a bowl, mix with sugar, salt and vinegar, taking care to incorporate all ingredients completely.
Transfer to a jar, cover with lid and let rest for at least two hours before serving (chrein keeps well in the refrigerator, only getting better with time).

Cooking the Fish Broth
Wrap fish head and bones in a cheesecloth pouch (cut a large square of cheesecloth, wrap fish head and bones in it, and tie together with kitchen twine).
Add sliced carrots, onions, bay leaf, peppercorns, allspice berries, parsley stem and beets (if using) to pot. Add enough water to cover ingredients.
Cover with a lid and bring to a boil, then lower heat to medium and continue simmering for 30 minutes, until carrots can be easily pierced with a fork.

Making the gefilte fish balls
Combine all gefilte fish ingredients in a large bowl, and mix well with a wooden spoon or your hands until well combined.
Wet the palms of your hands and form oval shaped patties the size of a golf ball.

Cook gefilte fish in broth
Place gefilte fish balls into the fish broth; add enough water to ensure all gefilte fish balls are submerged fully.
Simmer over a low flame slowly. Carefully remove all the patties and carrot slices from the broth. Set aside to cool.
Serve gefilte fish with homemade chrein
OPTIONAL: After the fish has been removed, strain off the cooking liquid. This stock will jell when chilled, providing a traditional sauce to serve with the gefilte fish.
To serve gefilte fish, arrange lettuce or kale leaves on a large platter. Carefully place gefilte fish patties on top of the greens. Top each patty with one of the cooked sliced carrots as garnish, and gently place a dollop of chrein overtop. Serve with more chrein on the side.

Storage Instruction
Store cooked gefilte fish in an airtight container, submerged in its broth, for up to 5 days in the refrigerator. This keeps it moist and flavorful.
Alternatively, freezing it is great way to extend the shelf life of leftover gluten free. Simply make a large batch when you have the time, and freeze the shaped and cooked gefilte fish balls until you are ready to eat them for the Seder. We recommend microwaving them from frozen. You can also shape the balls prior to cooking, and cook them directly from the freezer for the best texture. They will likely take about 10 minutes more to cook through.
Get the Passover cookbook from ReOrdered
To get the recipe for Polish gefilte fish, my Argentinian alfajores, and many more unique international gems of Jewish cuisine, order your own copy of the JDC Entwine ReOrdered Passover kit. ReOrdered, which is completely FREE to order and receive, offers participants a new take on Passover, inviting them to share, think and talk out modern day issues instead of just following the same-old story of the Haggadah. And it's not too late to order your very own copy yet!
If you end up making ReOrdered a part of your Passover celebration, let us know! Share the images on social media, tagging @immigrantstable and @jdcentwine. For more snapshots behind the scenes of this video, check out my Instagram page and stories, and my Facebook page.

Recipe
Tried and loved this recipe? Please leave a 5-star review below! Your reviews mean a lot to me, so if you've got any questions, please let me know in a comment.

Polish gefilte fish and beetroot horseradish chrein
Equipment
- 1 jar
- 1 Cheesecloth 8 X 8-inch piece
- 1 kitchen twine 8-inch piece
- 1 large serving dish
- 1 Colander
Ingredients
Chrein (horseradish-beet sauce)
- 7 oz raw horseradish
- 5 oz raw beets
- ยฝ TB sugar
- ยฝ TB salt
- ยฝ cup vinegar
Fish broth
- 1 fish head and bones when buying your fish, ask the fish monger to keep the head and bones in a bag for you; if you’re filleting and cleaning your own fish, make sure to keep the head and bones
- 1 carrot peeled and sliced into rounds
- 1 onion quartered
- 1 bay leaf
- 5 whole peppercorns
- 5 whole allspice berries
- One parsley stem
- 1 beet peeled and quartered (optional; my Ukrainian grandmother does this, but it takes the recipe in a decidedly non-Polish direction. However, this will give your gefilte fish an appealing pinkish hue)
- Water
Polish gefilte fish
- 1 kg carp ground
- 700 g whitefish ground (pickerel or rockfish, cod and haddock are also acceptable replacements)
- 1 onion chopped finely (you may fry your onion first for additional flavor; if doing this, take care not to brown onion)
- ½ cup matzo meal Gluten free alternative - replace this with GF matzo meal or omit altogether.
- 2 TB sugar
- 4 tsps salt
- 2 tsps pepper
- 2 TBs sunflower oil
- 1 egg
- Large lettuce or kale leaves for presentation
Instructions
Chrein (horseradish-beet sauce)
- Peel beets and horseradish, and soak them in cold water for an hour (this saves you the hassle of cooking the beets).
- Drain well, and grate using a box grater or a food processor fitted with a fine grating disc.
- In a bowl, mix with sugar, salt and vinegar, taking care to incorporate all ingredients completely.
- Transfer to a jar, cover with lid and let rest for at least two hours before serving (chrein keeps well in the refrigerator, only getting better with time).
Fish broth
- Wrap fish head and bones in a cheesecloth pouch (cut a large square of cheesecloth, wrap fish head and bones in it, and tie together with kitchen twine).
- Add sliced carrots, onions, bay leaf, peppercorns, allspice berries, parsley stem and beets (if using) to pot. Add enough water to cover ingredients.
- Cover with a lid and bring to a boil, then lower heat to medium and continue simmering for 30 minutes, until carrots can be easily pierced with a fork.
Polish gefilte fish – best to do this while your fish broth is cooking
- Combine all gefilte fish ingredients in a large bowl, and mix well with a wooden spoon or your hands until well combined.
- Wet the palms of your hands and form oval shaped patties the size of a golf ball.
- Place gefilte fish balls into fish broth; add enough water to ensure gefilte fish are submerged fully.
- Simmer over a low flame slowly for 1.5 hours. Carefully remove all the patties and carrot slices from the broth. Set aside to cool.
- OPTIONAL: After the fish has been removed, strain off the cooking liquid. This stock will jell when chilled, providing a traditional sauce to serve with the gefilte fish.
- To serve gefilte fish, arrange lettuce or kale leaves on a large platter. Carefully place gefilte fish patties on top of the greens. Top each patty with one of the cooked sliced carrots, and a dollop of chrein. Serve with more chrein on the side.
Tell Me What You Think!