Köttbullar (Swedish Meatballs with Cream Gravy)
Why this recipe works
- Smooth cream gravy: Beef stock lifts the browned bits from the pan before double cream is added, creating a savoury gravy with a rounded, silky finish.
- Tender meatball mixture: Soaking the breadcrumbs in milk keeps the meatballs soft and helps bind the beef and pork without making the texture heavy.
- Sweet-tart balance: Lingonberry cuts through the richness of the cream sauce and gives the dish its recognisable Nordic contrast.
Get the most out of this recipe
Authenticity notes
- Lingonberry on the side: The lingonberry is served alongside rather than stirred through the gravy, so each bite can be balanced with as much sweet-tart fruit as preferred.
- Small, well-browned meatballs: Köttbullar are typically shaped smaller than many meatballs, giving more browned surface area and helping them cook quickly in the pan.
- Cream gravy from the pan: Building the sauce in the same pan captures the savoury browned bits left from frying, which gives the gravy its depth.
Ingredient notes
- Use allspice with restraint: Allspice should sit in the background, adding warmth without making the meatballs taste overtly spiced.
- Beef and pork for balance: The beef brings savoury depth while the pork adds tenderness and richness; using only beef gives a firmer result.
- Lingonberry alternatives: If lingonberry is unavailable, cranberry works well as a similar sweet-tart pairing.
Texture tips
- Mix gently: Combine the meatball mixture only until it holds together; too much mixing makes the finished texture dense.
- Keep the gravy gentle: After adding the double cream, use a low simmer rather than a hard boil to keep the sauce smooth.
Make-ahead tips
- Shape ahead: The meatballs can be shaped in advance and kept chilled until cooking, which makes the final pan-frying and gravy quicker.
- Reheat gently: Warm leftovers over low heat with a little extra beef stock if needed, stirring gently until the meatballs are piping hot and the gravy loosens.
- Freezer-friendly: Freeze the cooked meatballs and gravy without the lingonberry where possible, then defrost overnight in the fridge before reheating.
Equipment you'll need
Ingredients
Instructions
- Put the breadcrumbs in a mixing bowl and pour over the milk. Stir and leave to soak for 10 minutes until thick and porridge-like.
- Meanwhile, peel the onion and grate it finely. Melt half the butter in a large frying pan over medium heat, then cook the onion for 5 to 7 minutes until soft and sweet, not browned.
- Add the minced beef, minced pork, egg, allspice, and the cooled onion to the soaked breadcrumbs. Mix with a wooden spoon or clean hands just until combined, then shape into 20 to 24 small meatballs.
- Heat the remaining butter in the same pan over medium-high heat. Brown the meatballs in batches for 6 to 8 minutes per batch, turning often, until well coloured and cooked through; transfer to a plate as you go.
- Pour in the beef stock and scrape up any browned bits from the base of the pan. Simmer for 3 to 5 minutes to reduce slightly.
- Lower the heat and stir in the double cream. Return the meatballs to the pan and gently simmer for 5 minutes until the gravy lightly coats the back of a spoon.
- Serve the meatballs hot with the cream gravy spooned over. Add the lingonberry on the side for a sweet-tart finish.
Recipe notes
Tips
- For the most tender meatballs, mix the meat mixture only until it comes together; overmixing makes them dense.
- Keep the gravy at a gentle simmer after adding the double cream so it stays smooth and does not split.
- Food safety: if serving to pregnant people, young children, older adults, or anyone immunocompromised, use an egg with a recognised safety mark and cook the meatballs until piping hot throughout.
Substitutions
- Replace the whole milk with double cream for a richer, more luxurious meatball mixture.
- Replace the minced pork with extra minced beef for an all-beef version with a slightly firmer texture.
- Replace the lingonberry with cranberry for a similar sweet-tart contrast.
Storage
- Refrigerate up to 3 days
- Cool completely, then refrigerate in a sealed container. Reheat gently in a saucepan over low heat with a splash of beef stock to loosen the gravy, until piping hot; freeze (preferably without the lingonberry) for up to 2 months and defrost overnight in the fridge before reheating.
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: 50min (35min active)
- Difficulty: Medium
- Cuisine: Nordic
-
Allergens:
Eggs Gluten Milk
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.
Misen Carbon Steel Nonstick Frying Pan 12 Inch
- Works on all stovetops
- Naturally nonstick when seasoned
- Requires seasoning and maintenance
Pyrex Glass Mixing Bowls with Lids
- Microwave safe
- BPA-free lids
- Glass is heavier
All-Clad HA1 Hard Anodized Nonstick Fry Pan 12 Inch
- Top-tier build quality
- Excellent heat distribution
- Expensive
KitchenAid Stainless Steel Mixing Bowls
- Non-slip base
- Stainless steel
- Not microwave safe
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.

























