Bitterballen, a classic Dutch snack. Below are three variations: beef, shrimp, and cheese. Perfect as party bites.
Apologies for the delay in publishing this challenge due to health reasons. I hosted it and enjoyed it — I hope you did too. I’ll be checking your blogs!
Three recipes to prepare bitterballen

Recipe Source:
- Kaasbitterbal: Smulweb Peter Goossens
- Garnalen bitterbal: 24Kitchen
Notes:
Bitterballen are a beloved Dutch snack: small, deep-fried croquettes shaped like meatballs, traditionally filled with a thick ragout made from a roux and a binding liquid (milk or stock), then mixed with meat, seafood, or cheese. Once coated in breadcrumbs and fried until golden, they make an irresistible appetizer. Historically they were a way to use leftover meat; today they’re a popular treat across the Netherlands.
The filling is essentially a salpicon — finely diced or minced ingredients bound in a sauce — built on a roux (cooked fat and flour) that absorbs the liquid into a thick, scoopable mixture. After cooling and chilling, the mixture is portioned into balls, breaded, and deep-fried.
Terminology: Salpicon = diced ingredients bound in a sauce. Roux = cooked mixture of fat and flour used to thicken sauces.
Preparation time: about 30 minutes active plus at least 2 hours chilling time (longer is better)
Equipment required:
- Deep fryer or a large skillet with 1–2 inches of sunflower oil
- Saucepans and mixing bowls
- Knives and spoons for shaping
- Bowls for breading (flour, beaten eggs, breadcrumbs)
📖 Recipe
Ingredients
Beef filling
- 1⅓ lbs rump roast, lean, cubed
- 4 cups beef stock
- 1 teaspoon salt
- 1 onion
- 1 stick butter
- 1 cup all-purpose flour
- ⅛ teaspoon ground black pepper
- ⅛ teaspoon ground nutmeg
Breading
- 1 cup all-purpose flour
- 2 eggs, slightly beaten
- 1 cup dry breadcrumbs
Deep-frying
- Sunflower oil, for deep frying
Instructions
Beef filling
- Cook the cubed beef in the beef stock with 1 teaspoon salt for about 2–3 hours, until fork-tender. Cool and finely shred or slice the beef. Reserve 2 cups (500 ml) of the stock.
- Slice the onion finely.
- Melt the butter in a saucepan and sauté the onion about 2 minutes until glazed.
- Add the flour all at once and stir over heat for 3 minutes to make a roux.
- Gradually add the reserved stock, whisking constantly until the mixture thickens and comes to a boil. Simmer for 5 minutes, then stir in the cooked beef.
- Season with nutmeg, pepper, and a little extra salt to taste.
- Spread the filling on a chilled plate or shallow dish, cover with plastic wrap, and refrigerate for at least 2 hours or overnight to set.
Breading
- Set out three bowls: flour, beaten eggs, and breadcrumbs.
- Scoop a spoonful of the chilled filling and roll into a small ball. Dredge in flour, dip in egg, then coat with breadcrumbs. Repeat for all balls. For a thicker crust, repeat the egg and crumb step.
- Place the coated balls on a plate, cover, and refrigerate for 30 minutes.
Deep fry
- Heat oil to 350°F / 180°C. Test with a small bread cube—it should sizzle and brown within a minute or two.
- Deep-fry the bitterballen 3–4 minutes until golden brown. Drain on paper towels.
- Serve hot with mustard on the side.
Nutrition
Carbohydrates: 10 g
Protein: 7 g
Fat: 5 g
📖 Recipe
Ingredients
Shrimp filling
- 2 shallots, finely sliced
- ½ oz chives, chopped
- 1 stick butter
- 1 cup all-purpose flour
- ½ cup dry white wine
- 2½ cups fish stock
- 9 oz cocktail shrimp
- ¼ teaspoon salt
- ⅛ teaspoon ground black pepper
Breading
- 1 cup all-purpose flour
- 2 eggs, slightly beaten
- 1 cup dry breadcrumbs
Deep-fryer
- Sunflower oil, for deep frying
Instructions
Shrimp filling
- Peel and finely slice the shallots. Chop the chives.
- Melt butter and sauté the shallots about 2 minutes. Add the flour and cook, stirring, for 3 minutes to form a roux.
- Pour in the wine and fish stock while whisking. Bring to a boil, then simmer for about 10 minutes.
- Stir in the shrimp and chives, season with salt and pepper. Remove from heat.
- Spread the mixture on a chilled plate, cover, and refrigerate at least 2 hours or overnight.
Breading
- Form balls from the chilled filling, then coat in flour, dip in egg, and roll in breadcrumbs. Repeat breading for a thicker crust if desired. Chill 30 minutes.
Deep fry
- Heat oil to 350°F / 180°C. Fry until golden (about 3–4 minutes). Drain and serve hot.
Nutrition
Carbohydrates: 6 g
Protein: 3 g
Fat: 1 g
📖 Recipe
Ingredients
Cheese filling
- ½ stick butter
- ¾ cup all-purpose flour
- 2 cups milk
- ⅓ cup cream
- 2 egg yolks (size L)
- 2 teaspoons gelatin powder
- ½ teaspoon ground nutmeg
- ⅛ teaspoon ground black pepper
- ⅛ teaspoon salt
- 80 g grated Parmesan (or grana padano)
- 80 g Brie / Camembert / cream cheese, cut into small pieces
- 80 g grated cheddar
Breading
- 1 cup all-purpose flour
- 2 eggs, beaten
- 1 cup breadcrumbs
Deep-Frying
- Sunflower oil, for deep frying
Instructions
Cheese filling
- Melt the butter in a heavy-based saucepan. Add the flour all at once and cook, stirring, for about 3 minutes on medium heat to form a roux.
- Whisk in the milk, egg yolks, and cream. Bring to a gentle boil while stirring continuously.
- Lower the heat and simmer about 10 minutes, stirring occasionally.
- Meanwhile dissolve the gelatin in about 2 tablespoons water and set aside.
- Add nutmeg, salt, and pepper to taste. Stir in the grated and soft cheeses until fully combined.
- Mix in the dissolved gelatin, remove from heat, and spread the thickened sauce onto a plate or shallow dish. Cool 30–60 minutes, then cover and refrigerate at least 2 hours or overnight until firm.
Breading
- When firm, scoop the cheese mixture and form into ¾–1 inch (about 2½ cm) balls.
- Roll each ball in flour, dip in beaten egg, then roll in breadcrumbs. Repeat for a thicker crust if desired. Chill 30 minutes. At this stage you may freeze them for later use.
Deep frying
- Heat oil to 350°F / 180°C. Fry bitterballen 3–4 minutes until golden (add about 1 minute if frozen). Drain and serve hot.
Nutrition
Carbohydrates: 9 g
Protein: 4 g
Fat: 6 g