These oval-shaped Danish meatballs are the heart of a traditional Danish dinner table, pan-fried until deeply golden and served with brown gravy, boiled potatoes, and pickled beets. The panade of milk-soaked bread and grated raw onion keeps them incredibly tender and juicy inside their crisp crust.
Nutrition Facts
Per serving (estimated)
- 485 kcalCalories
- 32 gFat
- 12 gSaturated Fat
- 16 gCarbs
- 1 gFiber
- 4 gSugar
- 28 gProtein
- 780 mgSodium
- 520 mgPotassium
- 120 mgCalcium
- 3 mgIron
- 4 mgVitamin C
- 180 mcgVitamin A
Ingredients
For the meatballs
- 2 cups cubed stale white bread, crusts removed (about 2 thick slices)
- 1/2 cup whole milk
- 8 oz ground pork
- 8 oz ground beef (85/15)
- 1 medium yellow onion, finely grated on a box grater (about 1/2 cup)
- 2 large eggs, lightly beaten
- 1 1/2 tsp kosher salt, 1/2 tsp ground white pepper, and 1/4 tsp ground nutmeg
- 2 tbsp chopped fresh parsley
For pan-frying and gravy
- 3 tbsp unsalted butter
- 2 tbsp neutral oil (canola or sunflower)
- 1 1/2 cups beef stock
- 1 1/2 tbsp all-purpose flour
- Salt and freshly ground black pepper, to taste
Directions
- Place the cubed bread in a large bowl and pour the milk over it. Press down and let soak for 10 minutes until very soft, then mash into a rough paste with a fork.
- Add the ground pork, ground beef, grated onion, eggs, salt, white pepper, nutmeg, and parsley to the soaked bread. Mix gently with your hands just until evenly combined – do not overwork the mixture or the meatballs will turn tough.
- Cover the bowl and chill the mixture for 20 minutes to firm up, which makes shaping easier and lets the breadcrumbs fully hydrate.
- With wet hands, shape the mixture into 12 oval patties about 3 inches long and 1 inch thick, the traditional Danish rugby-ball shape. Smooth the edges with damp fingers.
- Heat the butter and oil in a large heavy skillet (preferably cast iron) over medium heat until the butter foams but has not browned. Fry the meatballs in two batches, without crowding the pan, for 4-5 minutes per side until deeply golden and cooked through to an internal temperature of 160°F/71°C.
- Transfer cooked meatballs to a warm plate and tent with foil. Pour off all but 2 tablespoons of fat from the skillet.
- To make the brown gravy, sprinkle the flour into the drippings and stir with a wooden spoon over medium heat for 1 minute until lightly toasted. Slowly pour in the beef stock while whisking constantly to prevent lumps.
- Bring the gravy to a gentle simmer and cook for 3-4 minutes until thickened and glossy. Season with salt and pepper to taste.
- Return the meatballs to the skillet and spoon the gravy over them for 1-2 minutes to warm through, or serve the gravy alongside in a small jug.
- Serve hot with boiled new potatoes, pickled beets, and a cucumber salad, with extra brown gravy spooned generously over the top.
Cook’s Notes
- Always shape Danish meatballs into ovals rather than rounds – the traditional rugby-ball shape gives them more browned surface per piece and is the visual hallmark of the dish.
- Grate the onion on the finest holes of a box grater; this releases its juices directly into the mix and adds moisture without any harsh raw bite.
- Chilling the mixture for 20 minutes is essential – it lets the breadcrumbs fully hydrate and firms the fat so the meatballs hold their shape during frying.
- Test-fry a tiny patty before cooking the whole batch to check seasoning; raw ground meat can taste under-seasoned even when perfectly salted once cooked.
- For an even more traditional flavor, finish the gravy off the heat with a small pat of cold butter swirled in to give it a silky gloss.
- Unlike Norwegian meatballs, the Danish version is never served in a cream sauce – it pairs with a clear brown gravy made from the pan drippings.










