Bitterballen (Dutch Beef Ragout Balls)
Why this recipe works
- Proper ragout structure: A buttery roux thickens the beef cooking liquid and milk into a firm ragout that can be chilled, shaped and fried without losing its classic soft centre.
- Crisp double coating: A second layer of egg and breadcrumbs gives the balls a sturdier shell, helping them fry evenly while keeping the filling protected.
- Built for advance prep: The filling needs time to chill, so the recipe naturally suits overnight preparation or freezing before frying.
Get the most out of this recipe
Timing notes
- Chill until fully firm: The ragout must be cold and set before shaping. Overnight chilling gives the cleanest balls and reduces the risk of cracking during frying.
- Serve straight from the fryer: Bitterballen are best served hot, while the coating is crisp and the ragout centre is soft.
Common mistakes
- Loose ragout: If the ragout is not thick enough before chilling, the balls will be difficult to shape and may burst in the oil.
- Unsteady oil temperature: Keep the oil at 180°C (355°F). If it drops too low, the coating can absorb oil; if it climbs too high, the outside may brown before the centre is hot.
- Frying too many at once: Fry in batches so the oil stays hot and the balls have enough space to turn evenly.
Make-ahead tips
- Make the filling ahead: Prepare and chill the ragout the day before frying. It will be easier to portion and roll when thoroughly cold.
- Freeze before frying: Breaded, unfried bitterballen freeze well in a single layer, then can be bagged once solid. Fry from frozen at 175°C (345°F) until deep golden and piping hot.
- Reheat cooked bitterballen: Reheat cooked bitterballen on a baking tray at 200°C (390°F) until hot throughout and the coating has crisped again.
Authenticity notes
- Dutch snack-bar style: Bitterballen are closely associated with borrel culture in the Netherlands, where savoury fried snacks are served with drinks.
- Serve with mustard: A sharp mustard is the classic accompaniment, cutting through the rich beef ragout and fried breadcrumb coating.
Equipment you'll need
Ingredients
Ragout
Breading and frying
Instructions
- Put the beef and beef stock in a large pot and bring to a gentle simmer. Cook for 75 to 90 minutes until the beef is very tender and shreds easily. Lift the beef out, reserve the cooking liquid, and shred the meat finely.
- In a saucepan over medium heat, melt the butter. Whisk in the flour and cook for 2 to 3 minutes until the roux smells biscuity but has not browned. Gradually whisk in 600 ml of the reserved beef cooking liquid, then whisk in the milk.
- Cook the ragout over medium-low heat, whisking often, for 8 to 12 minutes until very thick and pulling away from the sides of the pan. Stir in the shredded beef, nutmeg, salt and pepper, then cook 2 minutes more. The mixture should be thick enough to hold a spoon upright.
- Scrape the ragout into a shallow dish and spread it out to cool quickly. Cover and chill until completely firm, at least 2 hours. For easiest shaping, chill overnight.
- Beat the eggs in a mixing bowl and put the breadcrumbs in a second bowl. With lightly damp hands, roll the chilled ragout into walnut-sized balls. Coat each ball in egg, then breadcrumbs, then repeat the egg and breadcrumbs for a double coating.
- Heat the sunflower oil to 180°C (355°F) in a deep pot and keep the temperature steady. Fry the bitterballen in batches for 3 to 4 minutes until deep golden and crisp, turning as needed. Lift out with tongs and drain briefly before serving hot.
Recipe notes
Tips
- Keep the ragout very thick before chilling; if it is loose, it will be hard to shape and may burst during frying.
- Fry a single test ball first; if it cracks, chill the remaining balls for 20 minutes and make sure the oil is at 180°C (355°F) before continuing.
- If serving to pregnant people, young children, older adults, or anyone immunocompromised, use eggs with a safety mark and cook the croquettes until piping hot throughout.
Substitutions
- Replace Whole milk with Lactose-free milk for a similar richness.
- Replace Sunflower oil with Canola oil for frying.
Storage
- Refrigerate up to 3 days
- Chill cooked bitterballen in a sealed container for up to 3 days. Reheat on a baking tray in a 200°C (390°F) oven for 10 to 12 minutes until piping hot. Unfried, breaded balls freeze well; freeze in a single layer, then bag, and fry from frozen at 175°C (345°F) for 5 to 6 minutes.
Ratings & reviews
Liked this recipe? Share your feedback to support our cooking community.
Tried this recipe?
Choose 1–5 stars. A comment is optional.
Stay inspired
Discover new recipes, seasonal favourites and cooking inspiration every day. Follow JustRecipes on Pinterest and Spillt.
Recipe overview
- Servings: 4 servings
- Total time: 3h 30min (1h active)
- Difficulty: Advanced
- Cuisine: Dutch
-
Allergens:
Eggs Gluten Milk Wheat
Plan your meals and get a complete grocery list automatically.
Add to meal plannerEquipment you'll need
Got ingredients left?
Find recipes using ingredients from this recipe or what you already have at home.
Find recipes with these ingredients →Make this recipe easier next time
AdvertisementThese tools help you get better results with less effort.
KitchenAid Stainless Steel Mixing Bowls
- Non-slip base
- Stainless steel
- Not microwave safe
T-fal Specialty Nonstick Handy Pot with Glass Lid 3 Quart
- Easy food release
- Dishwasher safe
- Not induction compatible
OXO Good Grips Stainless Mixing Bowl Set
- Non-slip base
- Comfort grip
- Higher price
WMF Mini Saucepan 16 cm with Lid
- High-quality stainless steel
- Even heat distribution
- Higher price point
Enjoy cooking with JustRecipes?
Add JustRecipes as one of your preferred Google sources to discover our recipes more easily across Google Search.
Add JustRecipes to GoogleEvery recipe on JustRecipes follows the same structured editorial process. Learn how recipes are created, validated, translated, illustrated, and continuously improved across the platform. How we create recipes.




















