Bitterballen
Photo: Takeaway · CC BY-SA 3.0

History

Bitterballen evolved from the bitter, an aperitif served before dinner with small savoury snacks. The Dutch beef-ragout filling reads as kitchen-economy thinking: leftover stew thickened with roux, chilled into a ball, breaded and fried to order. Every Amsterdam brown cafe and most modern bars run them; De Ballenbar inside Foodhallen pushes the format with truffle and lobster variants for a splurge.

Book a food experience

Tours, tastings and classes from the cities on this page, bookable on GetYourGuide.

Browse every bookable food experience

Common allergens: Gluten, Dairy, Egg

Make it at home

Yield 24Hands-on 45 minTotal 5 hrDifficulty Intermediate

Ingredients

  • 400g cooked beef shin or chuck, finely shredded (use leftover stew meat or simmer 500g raw shin in 1L beef stock for 2 hours)
  • 60g unsalted butter
  • 60g plain flour
  • 500ml beef stock, hot
  • 2 tbsp finely chopped flat-leaf parsley
  • 1 tsp Dijon mustard, plus more to serve
  • 1 tsp Worcestershire sauce, pinch of grated nutmeg
  • 100g plain flour and 3 eggs (beaten) plus 200g fine dried breadcrumbs for coating
  • 1L sunflower oil for deep-frying
  • Sea salt and ground white pepper

Method

  1. Melt the butter in a wide pan, stir in the flour, and cook the roux for 3 minutes until pale gold but not coloured.
  2. Whisk the hot stock in gradually, returning to the heat for 5 minutes until very thick like wallpaper paste.
  3. Stir through the shredded beef, parsley, mustard, Worcestershire, nutmeg, salt and white pepper. Spread the mix onto a tray to 2cm thickness, cover and chill at least 4 hours until firm.
  4. Roll the chilled ragout into 24 balls of about 30g each; if it sticks, wet your hands.
  5. Roll each ball in flour, then egg, then breadcrumbs; repeat the egg-and-breadcrumb step once more for a double coat that holds at fry temperature.
  6. Heat the oil to 180 degrees Celsius and fry the bitterballen in batches of six for 3 to 4 minutes, turning, until deep golden.
  7. Drain briefly on paper, sprinkle with sea salt, and serve immediately with a pot of grainy mustard.

Tip from the editors. Double-breading is the difference between a Dutch bitterbal and a French croquette; the first coat seals the ragout, the second gives the crackle. Fry from cold and your ball will burst.

Where to eat bitterballen

Bitterballen in Amsterdam

De Ballenbar at Foodhallen ★ 4.3

€ Street food

De Ballenbar inside Foodhallen serves Amsterdam bitterballen on the bar, beef ragout deep-fried, with truffle and lobster variants for the splurge order.

TryBitterballen and croquettes by the dozen

Café Hoppe ★ 4.6

€€€ Cocktail barBrown cafe

Café Hoppe on Spui has poured Amsterdam jenever and beer since 1670, the brown cafe with the dark-wood interior and the stand-at-the-bar after-work crowd.

DrinkJenever, Dutch pilsner on tap

FoodBitterballen, cheese, bar snacks

Café 't Smalle ★ 4.6

€€€ Cocktail barBrown cafe

Café 't Smalle on Egelantiersgracht in the Jordaan is the Amsterdam canal-side brown cafe with the postcard terrace, the building going back.

DrinkJenever, Belgian and Dutch ale

FoodBar snacks

Moeders Dutch Kitchen ★ 4.0

€€ DutchJordaan

Moeders on Rozengracht is the Amsterdam stamppot room, walls lined with photos of mothers from customers, the menu a Dutch grandmother's repertoire.

OrderStamppot of the week with rookworst sausage.

TipBring a photo of your mother to add to the wall. Reservation advised.

Café Papeneiland ★ 4.5

€€€ Cocktail barBrown cafe

Café Papeneiland on the corner of Prinsengracht and Brouwersgracht is the Amsterdam brown cafe from 1642, the apple pie inside almost as canonical as Winkel.

DrinkJenever, beer on tap, coffee with apple pie

FoodApple pie, bitterballen, cheese

All Amsterdam signature dishes →

Bitterballen in Rotterdam

De Witte Aap ★ 4.3

€€ DutchWitte De Withstraat

Rotterdam's most famous brown cafe runs until 4am on weekends with Dutch craft beers, bitterballen, and free live music. Bar snacks only but the late-night.

Frietboutique ★ 4.4

€ DutchWitte De Withstraat

Rotterdam's best artisan frites stall in the Markthal, frying twice in beef tallow with a dozen house sauces. Located in Witte De Withstraat.

TipOrder the truffle mayo alongside the classic joppiesaus for the full Dutch frites experience.

De Ballentent ★ 3.6

€ DutchKralingen

The original Rotterdam ballentent cafe in Kralingen Park, known for terrace meals overlooking the lake. Priced at €. Open daily 11:00-22:00.

OrderThe uitsmijter (open egg-and-ham toast) on a sunny terrace day with a Dutch Pils.

TipThe outdoor terrace faces west; the evening light in summer makes this worth a detour for drinks alone.

All Rotterdam signature dishes →

Bitterballen in Utrecht

Kafe Belgie ★ 4.8

€€ BelgianOudegrachtUntil 04:00

Utrecht's late-night institution on the Oudegracht serving until 04:00 on weekends. Belgian fries, over 200 beers and a chaotic, popular interior since 1980.

TryBelgian fries with andalouse sauce

Ledig Erf ★ 4.7

€€ BelgianCentrumUntil 02:00

Historic brown cafe on the Tolsteegplein open to 02:00 on weekends. Forty Dutch and Belgian beers, bitterballen and a legendary local atmosphere.

TryBitterballen and Dutch bar snacks

Stadsbrouwerij Utrechts Bier ★ 4.0

€ DutchCentrum

Utrecht's original city brewery taproom on the Paardenveld. A bitterballen plank with a pint of the house Bisschop amber ale costs under €12 at the bar.

TryBitterballen plank with a pint of Bisschop amber ale

Belgisch Biercafe Olivier ★ 4.1

€€ BelgianMariaplaatsUntil 01:00

Belgian beer cafe in a 13th-century chapel serving mussels and frites to 01:00. Over 40 Belgian and Dutch beers on tap in a stunning medieval space.

TryBelgian beer-battered mussels and frites

Biologische Boerenmarkt Vredenburg ★ 4.6

€ MarketCentrum

Utrecht's organic farmers market on Vredenburgplein every Friday. Local farmers sell cheese, organic produce, bread, juices, meat and sustainable fish.

All Utrecht signature dishes →

More cities are in research. Want bitterballen covered somewhere specific? Tell us where you want to eat.

Browse all dishes →