Dutch Veal Croquettes or “Bitterballen”

Croquettes are a well-known way of using up leftovers, as many leftovers can be turned into a tasty snack by breading and deep-frying them. Croquetas are very popular in Spain as tapas, and in Italy leftover risotto is turned into arancini. If you’ve ever been invited to a “borrel”, a Dutch cocktail party after work or at a ‘function’, chances are that one type of snacks that was served were “bitterballen”. The word “bitter” does not refer to the taste of the balls themselves but of the alcoholic beverages they used to be consumed with: bitter herb beverages that are now often referred to as digestifs. Nowadays, the most common drink at a borrel is beer.

A bitterbal is a small rond version of a croquette (kroket), but apart from size and shape they are the same and that is why I’m covering them together in this post. Bitterballen and kroketten are made of meat ragout that has been allowed to firm up in the refrigerator and is then breaded and deep-fried. It is invariably served with mustard. Kroketten are one of the most popular snacks to eat at lunchtime on a soft bun with a bit of mustard (“broodje kroket”).

It is quite strange that bitterballen and kroketten are only eaten in Dutch-speaking areas, since I’ve not met a single person (other than vegetarians) who did not like them and the ingredients are easily available around the world. It is quite a bit of work to make them from scratch, but  especially if you live in an area where you cannot buy them deep-frozen at the supermarket, it is definitely worth it as I’m sure your guests will love them. Even in the Netherlands it is worth making them from scratch, since you can make them to your liking and get to control what goes into them.

Poor-quality bitterballen and kroketten available in the Netherlands are made from horse meat and/or “mechanically separated meat”. High-quality products contain pieces of meat rather than flakes of meat to show that ‘real’ meat was used. I prefer the flaky texture where the meat is integrated into the ragout rather than having meat in separate pieces, and I also prefer not to have parsley in mine. By making my own bitterballen or kroketten from scratch, I can get the best of both worlds: real meat and the texture that I like.

Cees Holtkamp is a famous pastry chef from Amsterdam who is retired and has publish a book with homemade versions of his famous cakes and snacks, including veal croquettes. The recipe below has been adapted from the recipe in his book “De Banketbakker”. I made many changes to the recipe though to adjust it to my personal preference. I left out the gelatin (which isn’t needed) and the parsley in the ragout (which I don’t like). I also substituted the lean veal with veal shanks for additional flavor and substituted the maggi (which I refuse to use, this is a from scratch version after all) with Japanese soy sauce. For even more flavor, I started by browning the veal shanks in clarified butter. And I made lots of other small changes.

The key to good bitterballen or kroketten are a good ragout (obviously) and the right breading. The key to a good breading that I learned from Holtkamp is to use two sizes breadcrumbs: small for the first layer and large for the outer layer. This will produce a super crunchy crust. A mixture of egg whites and flour helps to prevent the bitterballen or kroketten from leaking.


For 12 kroketten or about 40 bitterballen

600 grams (1.3 lbs) veal shank

2 Tbsp clarified butter (or 1 Tbsp butter and 1 Tbsp olive oil)

1 tsp black pepper corns

1 tsp salt

650 ml (2 3/4 cups) water

1 bay leaf

few sprigs fresh parsley

few sprigs fresh thyme

80 grams (6 Tbsp) butter

100 grams (5/8 cup) all-purpose flour

50 ml (3 1/2 Tbsp) whipping cream

2 egg yolks

1 tsp Japanese soy sauce

1 tsp mustard

salt and freshly ground white pepper

freshly ground nutmeg

stale bread for making bread crumbs

5 egg whites

10 grams (1 Tbsp) all-purpose flour

3 liters (3 quarts) vegetable oil with a high smoke point for deep frying, such as peanut oil


Rub the veal shank with salt on both sides. Heat 2 Tbsp clarified butter in a casserole and brown the meat on both sides over high heat.

Take out the meat and add 650 ml (2 3/4 cups) water. Bring to a boil and scrape the bottom with a wooden spoon to get all the flavor.

Put the meat back into the casserole. Remove the scum that rises to the surface with a slotted spoon.

Add the parsley, thyme, bay leaf, and pepper corns. There is no need to make a bouquet garni as it is easier to sieve the stock later.

Cover the casserole and reduce the heat to simmering: there should only be an occasional bubble rising to the surface. Simmer the meat until it is tender, about 3 hours.

Meanwhile, make the breadcrumbs. You absolutely need two sizes, so store-bought will probably not work. Preheat the oven to 120C/250F. Remove the crust from the bread and slice it (about 1 cm or 1/2″ thick). I used wholewheat bread since that is what I had, but white bread has a more neutral flavor. You can use fresh bread as well, but use up stale bread if you have it.

Put the slices of bread on a baking sheet and allow them to dry in the oven at 120C/250F for an hour.

Use a food processor to grind the bread into crumbs. A rolling pin or even a wine bottle will also work.

Grind until the largest crumbs are medium fine (about 3 mm or 1/8 inch).

Use a sieve to separate the fine bread crumbs from the coarse.

If you have a coarse sieve you could sieve the coarse breadcrumbs again to make them more even, but that is not really required for good results.

The meat is done when you can pull it apart easily with a fork. Let the meat cool to room temperature in the stock. This will allow the meat to re-absorb some of the juices that leaked into the stock. (You can make this step more quickly by putting the casserole in cold water.)

Take out the veal shank and separate the meat from the bone and connective tissue. Pull the meat apart with a pair of works. Discard the bone and connective tissue.

Sieve the stock. If you like, you can poor off the fat that will rise to the surface. Check whether you have 500 ml (2 cups). If you have less, add some water.

If you have more, simmer the stock until it has been reduced to 500 ml (2 cups). This will concentrate the flavor and is better than discarding the additional amount of stock.

You can continue to shred the meat with a pair of works, or you can ‘pulse’ grind it in the food processor. Don’t over process since you want to have flakes that will give texture to your ragout, rather than meat paste.

It’s time to make the ragout. Although this sounds like the Italian ragù and they are linguistically related, the French ragout is quite different.

It starts with making a roux, a mixture of butter and flour. Melt 80 grams butter in a heavy-bottomed pan over low heat.

Once the butter has melted and starts to foam…

…take it off the heat and add 100 grams flour, sieved.

Stir flour and butter until homogeneous.

Return to low heat and cook, stirring, for a few minutes.

Heat up the stock and add it little by little to the roux over low heat, stirring vigorously.

Stir until the stock has been absorbed, and then add a bit more stock.

Continue until you have used up all the stock. You will obtain a thick sauce, the ragout base.

When all the stock has been used up, continue to cook for a few minutes until the ragout starts to ‘shine’ and doesn’t taste like flour anymore.

Take it off the heat and let it cool slightly (enough to prevent cooking the egg yolk when you add it). Add the cream and egg yolks and stir to mix.

Add soy sauce and mustard. Taste and adjust the seasoning with salt, freshly ground white pepper, and freshly grated nutmeg. You could also add more soy sauce or mustard if you like. The ragout should have a full slightly peppery taste.

Add the meat…

…and stir to incorporate.

Spread out the ragout in a shallow container. Cover and allow to cool to room temperature. Cover and refrigerate until firmed up (at least two hours, or overnight).

If you are in a hurry, you could force-cool the ragout while it is still in the pan by putting the pan into (ice) cold water and stirring the ragout.

When the ragout is firm, take it out of the refrigerator and divide into 12 equal portions for kroketten or 36-48 equal portions for bitterballen.

Roll each portion in the fine breadcrumbs to the desired shape (a ball for a bitterbal or a cylinder for a kroket).

Let the coating dry for 10 minutes or so in the refrigerator.

Add 10 grams (1 Tbsp) flour to the 4 egg whites and whisk until homogeneous.

Make an assembly line. Coat each kroket or bitterbal with the eggwhite-flour mixture and then with the coarse breadcrumbs.

Refrigerate until ready to deep-fry, at least 10 minutes to let the coating dry.

Heat up the oil to 180C/350F. In 3 liters (3 quarts) of oil you can fry up to 6 kroketten or 20 bitterballen at the same time. The oil temperature will drop by too much if you try to fry more at once.

Deep-fry for 4 minutes or until nicely browned, while trying to keep the temperature close to 180C/350F. Drain briefly on kitchen paper.

Serve with mustard. Eat carefully, as they are hot inside!

You can use the oil again for up to 12 times or so. Allow to cool, filter and pour back into the container using a funnel. Store the oil in an airtight container in a dark place.


22 thoughts on “Dutch Veal Croquettes or “Bitterballen”

  1. Last week was the week of the croquette in the Netherlands. The croquette is one of the most popular snacks in the Netherlands. Personally I love the shrimp croquettes. But you can get them made with shrimps, veal, beef, goulash, sateh and a lot more. Delicious, thanks for the recipe Stefan.


    1. The “sophistication” is the fun part, because this is a favorite food of everyone in the Netherlands: from blue-collar workers to haute finance bankers to politicians to 3-Michelin-star chefs. I was once almost run over by the former CEO of ABN AMRO (Groenink) at the new year’s reception because I was standing (literally) between him and the bitterballen.


      1. Had some meat from a beef shank that I used to make broth for soup.Decided to make some ragout for lunch.Litterally had not made it in years. Reached far into my memory and it turned out delicious.I enjoyed it on bread.
        That led me to think about croquettes,used to make bitterballen for parties and special occasions years ago and remembered that they were good but often burst and leaked when fried.Looked up duty croquettes on my iPad and found your recipe.Im certainly going to make them as a surprise for my kids. Thanks so much for the great ,Iwould say non fail instructions.


        1. Thanks for your nice memory. Let me know how your bitterballen will turn out.
          If you want to make absolutely sure they won’t burst and leak, freeze them before deep frying. That way, the crust will be golden and crispy before the inside will boil and cause the bursting.


  2. Quite a meticulous recipe. Very well detailed and love the pictures, especially. Am now a follower! Will share on FB! Thanks!


  3. Hey Stefan,

    Dit weekend heb ik ze nagemaakt en ze zijn idd voortreffelijk.
    Bedankt voor het super recept en handleiding.
    See you op FB sous-vide-koken 😉

    Liked by 1 person

    1. Dank voor je leuke berichtje. Je zou het vlees trouwens ook sous vide kunnen garen (24 uur op 74 graden). Je hebt dan wel het voordeel dat het vlees mogelijk malser is en je er geen omkijken aan hebt. Maar niet het voordeel dat er meer smaak in het vlees blijft, want je hebt immers ook de bouillon nodig voor dit recept.


Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.