A swedish meatballs recipe should give you tender, pan-seared meatballs in a silky brown gravy with a gentle cream tang. This version uses a pork and beef mix with soaked bread for moisture, then a pan sauce built from the browned bits. You get a dinner that tastes closer to a Swedish home kitchen than the frozen tray version.
The method below keeps the balls from turning dense and the sauce from breaking. We’ll cover the right pan temperature, why resting the meat matters, and how to fix a thin gravy. By the end you’ll have a repeatable swedish meatballs recipe you can scale for four or ten. If you enjoyed this, our image is worth trying next.
Why You’ll Love These Swedish Meatballs
- Soft interior from soaked bread instead of dry crumbs, so the balls stay juicy
- Gravy built in the same pan, capturing the browned flavor the meat leaves behind
- Simple pantry dairy and spices, no specialty store trip required
- Holds well for pork and pasta night leftovers the next day
Ingredients You’ll Need
- 250 g ground beef (80/20) — fat keeps the balls from drying
- 250 g ground pork — adds tenderness and a milder flavor
- 1 slice white bread, crust removed, torn into pieces
- 60 ml whole milk — for soaking the bread
- 1 small yellow onion, finely grated
- 1 egg — binds without making the mix tough
- 1/2 tsp ground allspice — the core Swedish spice note
- 1/4 tsp ground nutmeg
- 3/4 tsp salt
- 1/4 tsp black pepper
- 2 tbsp butter — for searing
- 2 tbsp all-purpose flour — to thicken the gravy
- 300 ml beef stock, warm
- 100 ml double cream
- 1 tbsp soy sauce — deepens the savory note
- 1 tsp Dijon mustard
Ingredient Substitutions
Ground pork: Replace with an equal weight of ground turkey for a leaner ball. Turkey has less fat, so the mix can turn slightly dry; add 1 extra tablespoon of milk to the soaked bread. Expect a lighter color and a milder taste that needs a touch more salt. Making this swedish meatballs at home is surprisingly straightforward once you know the key steps.
All-purpose flour: Use an equal weight of cornstarch mixed with the cold stock before adding to the pan. Cornstarch gives a glossier, clearer gravy and thickens faster, so whisk constantly and pull the pan off heat as soon as it coats a spoon. The sauce will be slightly less nutty than flour-built gravy.
Double cream: Swap for equal amount of half-and-half to cut richness. The gravy will be thinner and less coating, so reduce it 5 minutes longer at the end. Flavor stays close but the mouthfeel is lighter.
Soy sauce: Replace with 1 tsp Worcestershire sauce plus a pinch of salt. You lose some of the dark fermented depth but gain a sharper tang; the gravy color will be a shade lighter. Keep the mustard to balance it.
Step-by-Step Instructions
- Place the torn bread in a bowl with the milk and let it sit 5 minutes until soggy. Squeeze lightly, then mash with a fork.
- In a large bowl, combine beef, pork, grated onion, egg, allspice, nutmeg, salt, and pepper with the bread. Mix with your hands just until combined — do not overmix or the balls turn tight.
- Roll into 20 equal balls, each about 3 cm wide, and set on a tray. Rest them 10 minutes while you heat the pan.
- Warm a wide skillet over medium-low heat with the butter. Brown the balls in two batches, turning often, until golden and crispy on all sides and cooked through, about 8 minutes per batch. Move to a plate.
- Off heat, stir the flour into the pan drippings for 1 minute. Slowly pour in warm stock while whisking to avoid lumps.
- Return to medium-low heat and simmer until the gravy thickens enough to coat a spoon, about 6 minutes. Stir in cream, soy sauce, and mustard.
- Return the meatballs to the skillet and simmer 5 minutes so they absorb flavor and the sauce tightens. Serve warm.
Pro Tips
Grate the onion instead of chopping it; fine particles dissolve into the meat so you avoid raw onion crunch in a small ball. A box grater makes this quick.
Keep your hands wet when rolling so the pork-beef mix doesn’t stick and you get a smooth surface that sears evenly. Dry hands leave cracks that leak juice.
Sear in batches and never crowd the pan or the balls steam instead of brown. The browned residue is what makes the gravy taste like a real swedish meatballs recipe.
For a smoother sauce, strain it before returning the meat, especially if you used coarse stock. See pan sauce technique for temperature control ideas from a pro kitchen.
Common Mistakes to Avoid
Skipping the bread soak gives a grainy, tight ball because dry crumbs pull moisture out. Always let the bread drink the milk first.
Adding cold stock to the flour roux causes clumps that never smooth out. Warm the stock in a kettle while the meat sears.
Boiling the cream sauce at high heat can make it split and turn greasy. Keep it at a bare medium-low heat once the dairy goes in.
Serving Suggestions
Classic service is over focaccia or boiled potatoes with lingonberry jam on the side. The tart jam cuts the cream.
For a lighter plate, pair with arugula pasta instead of potatoes. The lemon keeps the richness in check.
Add pickled cucumber slices for a sharp crunch that balances the soft meat. A almond cake after makes a full Nordic meal.
Storage and Reheating
Cooled meatballs in gravy keep in an airtight container in the fridge for up to 3 days. Reheat on the stove over low heat until the center hits 74°C / 165°F.
You can freeze the finished dish for freeze for up to 2 months in a rigid container. Thaw overnight in the fridge, then warm slowly so the cream stays emulsified.
Don’t leave the pan out more than 2 hours total; dairy gravy spoils fast at room temperature. Split large batches into shallow boxes for quick cooling.
Recipe Variations
Spicy Version
Add 1/2 tsp crushed chili flakes to the meat mix and a dash of hot sauce to the gravy. The heat sits behind the allspice instead of covering it, giving a warm finish that still reads as a swedish meatballs recipe.
Low-Carb Option
Replace the bread with 2 tbsp almond flour soaked in the milk. The balls hold together but the crumb is finer; skip the flour roux and thicken the gravy with 1 tsp xanthan gum whisked in off heat.
Oven-Braised Style
After searing, move the balls and gravy to a baking dish and finish at 180°C / 350°F for 15 minutes. This yields a softer exterior and a sauce that reduces evenly without stove attention.
Beef-Only Batch
Use 500 g beef and add 1 tbsp extra milk to offset the leaner meat. The flavor is deeper and less sweet; pork chops night can borrow the same gravy method.
Swedish Meatballs
Description
These Swedish meatballs use a pork and beef mix with soaked bread for a soft, juicy interior and are pan-seared until golden. A browned-bit pan gravy with cream, soy, and mustard delivers a gentle tang closer to a Swedish home kitchen than the frozen tray version.
Ingredients
Instructions
-
Soak the bread
Place the torn bread in a bowl with the 60 ml whole milk and let it sit for 5 minutes until fully soggy. Squeeze the bread lightly to remove excess liquid, then mash it with a fork until it forms a soft paste. This step keeps the meatballs juicy instead of dense.
-
Mix the meat
In a large bowl, combine the 250 g ground beef, 250 g ground pork, grated onion, 1 egg, 1/2 tsp allspice, 1/4 tsp nutmeg, 3/4 tsp salt, 1/4 tsp pepper, and the mashed bread. Mix with your hands just until combined — do not overmix or the balls will turn tight and chewy.
-
Roll and rest
Roll the mixture into 20 equal balls, each about 3 cm wide, and set them on a tray. Rest them for 10 minutes while you heat the pan so the texture stays tender and the balls hold shape when seared.
-
Sear the meatballs
Warm a wide skillet over medium-low heat with the 2 tbsp butter. Brown the balls in two batches, turning often, until golden and crispy on all sides and the center reaches 71°C/160°F, about 8 minutes per batch. Move the cooked meatballs to a plate and do not crowd the pan or they will steam instead of brown.
-
Make roux
Off heat, stir the 2 tbsp flour into the pan drippings for 1 minute to form a roux from the browned bits. This captures the seared flavor that makes the gravy taste like a real Swedish meatballs recipe.
-
Build gravy base
Slowly pour in the 300 ml warm beef stock while whisking to avoid lumps. Return the skillet to medium-low heat and simmer until the gravy thickens enough to coat a spoon, about 6 minutes.
-
Finish the sauce
Stir in the 100 ml double cream, 1 tbsp soy sauce, and 1 tsp Dijon mustard. Keep the heat at a bare medium-low so the dairy sauce does not split or turn greasy.
-
Simmer together
Return the meatballs to the skillet and simmer for 5 minutes so they absorb flavor and the sauce tightens around them. Serve warm over potatoes or bread with lingonberry jam on the side.
Nutrition Facts
Servings 4
- Amount Per Serving
- Calories 350kcal
- % Daily Value *
- Total Fat 24g37%
- Saturated Fat 12g60%
- Cholesterol 120mg40%
- Sodium 650mg28%
- Total Carbohydrate 10g4%
- Dietary Fiber 1g4%
- Sugars 2g
- Protein 22g44%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
- Storage: Cooled meatballs in gravy keep in an airtight container in the fridge for up to 3 days; refrigerate within 2 hours of cooking to keep the dairy gravy safe.
- Reheating: Warm on the stove over low heat until the center hits 74°C/165°F and the sauce is steaming; split large batches into shallow boxes for quick cooling.
- Pro tip: Grate the onion and keep your hands wet when rolling so the mix doesn't stick, as shown in our dietary notes for texture fixes.
- Make ahead: Warm the stock in a kettle while the meat sears so the roux never clumps from cold liquid.
