Swedish Meatballs with Creamy Dill Gravy

Kitchen-reviewed Updated Jul 2026 Written from established cooking principles and checked for sense and safety. Not independently lab-tested.
Swedish meatballs in creamy gravy with mashed potato and a spoonful of red lingonberry jam

Soft, well-spiced meatballs simmered in a glossy cream gravy that tastes far more special than the short ingredient list suggests. Serve with buttery mashed potato and a spoonful of lingonberry for the true Swedish contrast of savoury and tart-sweet.

Prep20 mins
Cook25 mins
Total45 mins
Serves4
Difficultyeasy
Jump to recipe

Real Swedish meatballs, or kottbullar, are smaller and softer than their Italian cousins, gently spiced with allspice and nutmeg and bound with a milk-soaked breadcrumb panade. The magic is the pan gravy: beef stock and cream loosened with the browned bits from the meatballs. A dab of tart lingonberry cuts through the richness beautifully.

Ingredients

Scale for 4 servings
  • 60g fresh white breadcrumbs — about 2 slices, crusts off
  • 100ml whole milk
  • 400g beef mince — 10-15% fat
  • 200g pork mince — or use 600g beef total
  • 1 small onion, very finely grated
  • 1 egg yolk
  • 0.5 tsp ground allspice
  • 0.25 tsp ground nutmeg
  • 1 tsp fine salt
  • 40g butter — for frying
  • 1 tbsp plain flour
  • 400ml beef stock
  • 150ml double cream
  • 1 tsp dark soy sauce — for colour and depth
  • 2 tbsp lingonberry jam — to serve; redcurrant jelly works too

Method

  1. Tip the breadcrumbs into a large bowl, pour over the milk and leave to soak for 5 minutes until mushy. This panade keeps the meatballs soft.
  2. Add the beef and pork mince, grated onion, egg yolk, allspice, nutmeg, salt and a good grind of black pepper. Mix with your hands until just combined, then fry a teaspoon of the mixture to taste for seasoning and adjust.
  3. With damp hands, roll into small, even balls about the size of a walnut; you should get roughly 24. Chill on a plate for 10 minutes if you have time, which helps them hold their shape.
  4. Melt the butter in a large frying pan over medium heat. Fry the meatballs in two batches, turning often, for 8-10 minutes until browned all over and cooked through with no pink in the middle. Lift onto a plate.
  5. Stir the flour into the buttery pan juices and cook for 1 minute. Gradually whisk in the beef stock, scraping up all the browned bits, then bring to a gentle simmer until slightly thickened.
  6. Pour in the cream and soy sauce and simmer for 2-3 minutes until the gravy coats the back of a spoon. Taste and season.
  7. Return the meatballs and any resting juices to the pan, spoon the gravy over and simmer gently for 3-4 minutes until piping hot throughout.
  8. Serve straight away with mashed potato and a spoonful of lingonberry jam on the side.

Serve it with

  • Buttery mashed potato
  • Lingonberry jam
  • Quick-pickled cucumber
  • Steamed green beans
  • Boiled new potatoes with dill

Why this works

The milk-soaked breadcrumb panade traps moisture so the meatballs stay tender rather than dense, while deglazing the fond builds a gravy with real roasted depth from a handful of pantry ingredients.

Common swaps

  • Swap pork for extra beef, or use a beef-and-veal mix for a classic Swedish blend
  • No lingonberry? Redcurrant jelly or cranberry sauce give the same tart-sweet lift
  • Use gluten-free breadcrumbs and a cornflour slurry to thicken for a gluten-free version
  • Stir a teaspoon of Dijon into the gravy for a sharper, more grown-up flavour

Common mistakes to avoid

  • Overworking the mince makes tough, rubbery meatballs; mix only until it just comes together
  • Skipping the panade leaves them dense and dry rather than soft
  • Crowding the pan steams the meatballs instead of browning them, so fry in batches
  • Boiling the gravy hard after adding cream can make it split; keep it at a gentle simmer

Storage, freezing & reheating

Storage: Cool leftovers quickly and keep in an airtight container in the fridge for up to 3 days.

Freezing: Freezes well for up to 3 months, either cooked in the gravy or as browned meatballs alone. Defrost fully in the fridge before reheating.

Reheating: Reheat gently in a covered pan over low heat, loosening the gravy with a splash of stock or milk, until piping hot throughout.

Allergen notes: contains Milk, Gluten, Egg, Soya. Always check individual product labels.

Estimated nutrition

Per serving, estimated from typical ingredient values — not a substitute for precise dietary calculation.

Calories560 kcal
Protein34g
Carbohydrate16g
Fat40g