Swedish Meatballs

Swedish Meatballs
⏱️ cook time 45 minutes
🍽️ servings 4
⚡ Difficulty medium

intro

Tender, spiced beef-pork meatballs smothered in silky cream gravy, served over buttery egg noodles for warm, nostalgic comfort food.

Ingredients

Ground beef (80/20 lean-to-fat ratio) 225 grams (8 oz)
Ground pork 225 grams (8 oz)
Dried egg noodles 340 grams (12 oz)
Fresh white breadcrumbs 60 grams (1/2 cup)
Whole milk 120 ml (1/2 cup)
Yellow onion (finely grated) 70 grams (1 small)
Large egg 1 unit (50 grams)
Ground allspice 0.5 grams (1/4 teaspoon)
Ground nutmeg 0.5 grams (1/4 teaspoon)
Kosher salt 5 grams (1 teaspoon)
Freshly ground black pepper 1 gram (1/2 teaspoon)
Unsalted butter 42 grams (3 tablespoons)
All-purpose flour 24 grams (3 tablespoons)
Low-sodium beef broth 480 ml (2 cups)
Heavy cream 120 ml (1/2 cup)
Worcestershire sauce 10 ml (2 teaspoons)
Dijon mustard 5 grams (1 teaspoon)

Steps

1

Mix meatball binder

In a small mixing bowl, combine 60g fresh white breadcrumbs and 120ml whole milk, then let rest 5 minutes at room temperature to let breadcrumbs fully absorb milk. Stir in 70g finely grated yellow onion, 1 beaten large egg, 0.5g ground allspice, 0.5g ground nutmeg, 5g kosher salt, and 1g freshly ground black pepper, mixing until a smooth, thick paste forms.

Step 1
step1:Mix meatball binder
2

Form uniform meatballs

Add 225g 80/20 ground beef and 225g ground pork to the binder mixture. Use clean, cool hands to gently fold the ingredients together until just combined—do not overwork the meat, as this creates tough, dense meatballs. Scoop 15g (1 tablespoon) portions, roll into smooth round balls, and arrange on a parchment-lined plate, making approximately 32 equal-sized meatballs.

Step 2
step2:Form uniform meatballs
3

Sear meatballs evenly

Heat 28g (2 tablespoons) unsalted butter in a large deep skillet over medium heat (175°C / 350°F) until foaming subsides. Add meatballs in 2 separate batches to avoid crowding the pan, cooking 8-10 minutes total per batch, turning gently every 2 minutes with tongs to brown all exterior sides. Transfer seared meatballs to a clean plate, set aside—meatballs do not need to be fully cooked through at this stage, as they will finish cooking in the gravy.

Step 3
step3:Sear meatballs evenly
4

Make gravy roux

Leave all rendered fat and browned meat bits (called fond) in the used skillet, reduce heat to medium-low (150°C / 300°F). Add remaining 14g (1 tablespoon) unsalted butter, melt fully, then whisk in 24g all-purpose flour. Cook the roux for 2 full minutes, whisking constantly, until it turns pale golden and gives off a nutty aroma.

Step 4
step4:Make gravy roux
5

Simmer meatballs in gravy

Slowly pour 480ml low-sodium beef broth into the roux, whisking constantly to prevent lumps, then stir in 10ml Worcestershire sauce and 5g Dijon mustard. Bring to a gentle simmer, cook 3 minutes until gravy starts to thicken, then stir in 120ml heavy cream. Return seared meatballs to the skillet, turn to coat in gravy, reduce heat to low, cover, and simmer 10 minutes until meatballs reach an internal temperature of 74°C (165°F).

Step 5
step5:Simmer meatballs in gravy
6

Serve over egg noodles

While meatballs simmer, cook 340g dried egg noodles in salted boiling water according to package directions until al dente, then drain well. Divide noodles between 4 warm dinner plates, top each with 8 meatballs, spoon extra gravy over the top, and garnish with a light sprinkle of chopped fresh parsley if desired.

Step 6
step6:Serve over egg noodles

Tips

1.Avoid overmixing the meat mixture: overworking ground meat compresses protein, leading to tough, dense meatballs. Stop folding as soon as you no longer see separate streaks of meat or dry breadcrumbs.
2.Adjust gravy consistency as needed: if it is too thick, stir in extra beef broth 1 tablespoon at a time until silky; if too thin, simmer uncovered for 2-3 minutes to reduce and thicken.
3.For the most tender meatballs, use fresh breadcrumbs made from day-old soft white bread instead of dried, pre-packaged breadcrumbs, which absorb too much moisture and create a drier texture.

✨ You May Also Like

Main Course
🍜 United Kingdom

A showstopping classic of tender seared beef, savory mushroom duxelles, and crisp prosciutto wrapped in flaky golden puff pastry, baked to juicy perfection.

⏱️ 2 hours 1Main Course ★ 4.7
Main Course
🍜 India

Tender charred marinated chicken simmered in a rich, spiced creamy tomato sauce, this iconic Anglo-Indian curry pairs perfectly with basmati rice or warm naan.

⏱️ 50 minuteMain Course ★ 4.8
Main Course
🍜 Thailand

Classic tangy, sweet, and savory Thai stir-fried rice noodles with shrimp, tofu, and crunchy garnishes, balancing all five core Thai flavor profiles.

⏱️ 30 minuteMain Course ★ 4.6
Main Course
🍜 United Kingdom

Crispy golden beer-battered cod and fluffy double-fried chips, served with tangy tartar sauce and malt vinegar: the timeless, beloved British pub comfort classic.

⏱️ 45 minuteMain Course ★ 4.9
Main Course
🍜 Mexico

Smoky, chile-marinated pork tacos with caramelized pineapple, fresh cilantro, and lime: a beloved classic Mexican street food perfect for casual summer gatherings.

⏱️ 1 hour 45Main Course ★ 4.7
Main Course
🍜 United States

Crunchy Fritos corn chips layered with savory beef chili and melted cheddar, topped with cool, zesty fixings for a beloved, cozy Tex-Mex comfort food.

⏱️ 35 minuteMain Course ★ 4.9

Swedish Meatballs:Frequently Asked Questions

1.Why use 80/20 ground beef instead of a leaner blend for these meatballs?
That 20% fat content is non-negotiable for tender, juicy meatballs that don’t turn dense or dry as they cook. Leaner 90/10 or 93/7 blends lack enough rendered fat to keep the meat light, and you’ll miss out on the rich, savory depth that makes this classic comfort dish feel so cozy and indulgent.
2.Can I swap dried store-bought breadcrumbs for the fresh white breadcrumbs the recipe calls for?
I don’t recommend it! Dried store-bought breadcrumbs are much coarser and more desiccated, so they’ll make your meatballs tough and grainy. Fresh white breadcrumbs soaked briefly in whole milk create that signature soft, melt-in-your-mouth texture, binding the meat without making the mixture heavy or overly bready.
3.Why does the recipe specify whole milk instead of lower-fat options like 2% or skim?
Whole milk pulls double duty here: it softens fresh breadcrumbs to create the tender panade that keeps meatballs moist, and it adds rich, creamy body to the gravy without making it feel thin or watery. Lower-fat milks lack enough milkfat to create that silky, luxe gravy texture the dish is known for.
4.Do I have to serve these meatballs over dried egg noodles, or can I use a different base?
Buttery dried egg noodles are the classic pairing for a reason—their wide, soft shape and subtle eggy flavor catch every drop of creamy gravy perfectly. If you don’t have them, swap in mashed potatoes, roasted potatoes, or buttered white rice, but skip firm shaped pastas like penne that won’t hold the gravy well.
5.How do I keep my meatballs from falling apart while they cook?
First, don’t overmix the meatball mixture—overworking the beef and pork makes proteins tighten up, leading to tough meatballs that split. Second, let the mixed meat rest 10 minutes in the fridge before shaping so the breadcrumb panade fully binds, and sear gently instead of stirring constantly as they first brown.
6.Is it better to pan-sear or bake these Swedish meatballs?
Pan-searing is my go-to for the classic version, because the browned bits (called fond) left in the pan are the secret to building deep, savory flavor in the creamy gravy. If you want a lower-mess, hands-off option, bake meatballs on a sheet pan at 400°F for 15 minutes, adding a splash of beef broth to the gravy to make up for missing fond.
7.Can I make these meatballs ahead of time for meal prep or a party?
Absolutely! You can shape raw meatballs and store them covered in the fridge for up to 24 hours before cooking, or freeze them for up to 3 months. The gravy also reheats beautifully—just warm it gently on the stovetop with a splash of extra whole milk if it thickens too much, then toss with freshly cooked egg noodles.
8.Why do my meatballs always turn out tough and dense instead of tender?
The two most common culprits are overmixing the meat mixture and using breadcrumbs that weren’t softened in milk first. When you combine the beef, pork, and soaked breadcrumbs, mix just until ingredients are evenly distributed—squeezing or kneading the meat like dough will make proteins bind too tight, leading to rubbery meatballs.
9.What spices are traditional for Swedish meatballs, so I don’t over-season them?
Classic Swedish meatballs use a warm, subtle spice blend of nutmeg, allspice, and a pinch of black pepper—skip the heavy garlic, oregano, or paprika you’d reach for with Italian meatballs. Keep seasoning light so the beef, pork, and creamy gravy stay front and center, and taste a tiny cooked test pinch to adjust salt before shaping all your meatballs.
10.My creamy gravy turned out lumpy—how do I fix it, and prevent that next time?
Lumps usually happen when you add milk too fast to the roux. Fix a lumpy batch quickly by straining it through a fine-mesh sieve for a perfectly silky finish. Next time, whisk whole milk into the roux a few tablespoons at a time, making sure each addition is fully smooth before adding more, and keep heat on medium-low to avoid clumping.

Comments (16)

2 days ago

OMG these were an absolute hit at our Sunday family dinner! My picky 7 year old asked for thirds, which never happens. The gravy is so rich and creamy, I didn’t even bother with the store-bought packet I had in the pantry. Game changer for weeknight meals too, I prepped the meatballs on Sunday and froze half for later!

yesterday

Wait how long do the frozen meatballs keep? I’ve been looking for meal prep ideas for my busy work weeks!

yesterday

So glad your family loved them! Uncooked prepped meatballs keep for up to 3 months in the freezer—just thaw in the fridge overnight before browning and making the gravy.

1 week ago

Really solid recipe! Meatballs had great flavor, though I accidentally added a little too much nutmeg at first so I had to balance it out with an extra splash of heavy cream. Served these over egg noodles for our neighborhood potluck last weekend and everyone was asking for the recipe. Only note is it took me closer to an hour total instead of 45 minutes, maybe I’m just slow at rolling meatballs lol

5 days ago

Thanks for the honest feedback! Rolling meatballs definitely adds time for newer cooks, so no worries at all. A tiny extra nutmeg can go a long way, glad you were able to adjust it to taste!

5 days ago

The flavor is great, but I wish the recipe had notes for gluten free substitutions! I used GF breadcrumbs and it worked fine for the meatballs, but I messed up the gravy thickener because I used regular flour initially before remembering I can’t have it. Turned out okay after swapping for cornstarch, but a heads up would have been nice.

3 days ago

I did GF too! Used 1:1 GF flour for the roux and it worked perfectly, no grainy texture at all. Hope that helps!

2 days ago

Great call out, Gail! I’ll be updating the recipe notes soon to include gluten free swaps—thanks so much for the feedback, and glad you were able to make it work with cornstarch!

yesterday

Made this for my girlfriend’s birthday dinner since she loves Swedish meatballs and she said it’s better than any restaurant version we’ve had. I’m usually a total beginner at cooking, the steps were super easy to follow even for me. Did add a little extra Worcestershire to the gravy because I love that umami kick, highly recommend.

2 hours ago

Same! I added an extra tsp of Worcestershire too, it adds such a nice depth. Did you serve it with mashed potatoes or noodles?

30 minutes ago

Brought these to my office potluck today and the entire pan was gone in 10 minutes! People were hovering over the crockpot waiting for seconds. I kept the meatballs and gravy warm in the crockpot on low for 2 hours before serving and it held up perfectly, no separation in the gravy at all. Will absolutely be making this for every holiday gathering from now on

1 week ago

I’m so pumped to make this for my roommates this weekend, all the photos look incredible! Quick question: is there a substitute for heavy cream? I’m a broke college student and heavy cream is so expensive at my campus grocery store 😭 I have half and half, would that work?

5 days ago

Half and half works! I did that last month when I made this, just add a tiny extra tablespoon of butter to the roux to make up for the lower fat content, it turns out almost identical.

5 days ago

Great tip from BudgetBites! Half and half absolutely works, just be sure to not let it boil too hard once you add it to avoid curdling. You can also use evaporated milk in a pinch too!

2 weeks ago

Really delicious, though I found the meatballs a little softer than I prefer. I think next time I’ll add an extra ¼ cup of breadcrumbs to give them a firmer texture. The gravy is chef’s kiss though, I even dipped my roasted veggies in it, no shame. Paired with a pinot noir and it was the perfect cozy weeknight date night meal.

1 week ago

So glad you enjoyed the gravy! Everyone prefers a different meatball texture, so extra breadcrumbs is a perfect adjustment for a firmer bite. Love the idea of dipping roasted veggies in the gravy, I’m definitely trying that next time!

3 days ago

Usually I only cook stuff on the grill, but it was pouring rain all weekend so I gave this a shot. Whole family loved it, even my teen who turns his nose up at anything that isn’t takeout. I did mix in a little bit of ground pork with the ground beef like my mom used to do, gave it such a great depth of flavor. 10/10, even a grill guy can nail this.

5 days ago

This looks so good, I’m planning to make it for my weekly meal prep! Has anyone tried making this in the Instant Pot? I do all my Sunday meal prep in the IP and would love to not have to wash extra pans!

3 days ago

I did! I browned the meatballs on the saute setting first, then made the gravy right in the pot, high pressure for 5 minutes, quick release. Turned out perfect, zero mess!

2 days ago

Thanks for sharing that IP hack Bri! I haven’t tested an Instant Pot version myself yet, but I’ve had lots of readers say that exact method works like a charm. Appreciate you weighing in!

2 weeks ago

I’ve been making Swedish meatballs for 40 years and this recipe is almost exactly the one my Swedish mother taught me! The only thing I do different is add a tiny sprinkle of fresh parsley on top for a pop of color. Brings back so many childhood memories, thank you for sharing such a classic, no-fuss recipe.

1 week ago

Rita, that means the absolute world to hear! Getting a stamp of approval from someone who’s been making these for decades is the best compliment I could get. The fresh parsley sprinkle is such a nice touch, I do that too when I have it on hand!

2 hours ago

Wait is the gravy supposed to be thick enough to coat the back of a spoon? Mine came out a little runny even after simmering for 10 minutes, did I do something wrong?

30 minutes ago

Did you make sure to cook the roux long enough? I had that issue the first time too, turns out I didn’t cook the butter and flour for a full 2 minutes before adding the broth, so it didn’t thicken right. I mixed a tiny cornstarch slurry (1 tsp cornstarch + 1 tbsp cold water) and stirred it in, fixed it right up!

5 minutes ago

Henry is exactly right! A too-thin gravy almost always comes from an undercooked roux, or adding the liquid too fast. The cornstarch slurry trick is a perfect quick fix if you don’t want to simmer it longer. Hope that helps!

yesterday

I’m the world’s pickiest eater and I was nervous to try this, but my roommate made it and I’m obsessed. The meatballs aren’t gamey at all, the gravy is smooth and not overpowering. I even went back for seconds, which is a miracle for me. Who knew homemade meatballs could be this good?

2 hours ago

This makes me so happy to hear! So many people write off Swedish meatballs thinking they’re too fancy or have weird flavors, but they’re just pure cozy comfort food. Glad you gave them a shot!

1 week ago

Great recipe! I swapped the ground beef for ground turkey to cut down on red meat, and used Greek yogurt instead of a quarter of the heavy cream to bump up the protein. Turned out way better than I expected, I thought the substitutions would make it bland but the seasoning still shines. Perfect for my post-workout meal prep this week.

5 days ago

Oh that’s such a good swap! How much Greek yogurt did you use vs heavy cream? I’ve been looking for higher protein comfort food recipes that don’t taste like diet food.

3 days ago

This was the perfect quick weeknight meal for my family! I pre-rolled the meatballs the night before while the kids were doing homework, so all I had to do when I got home from work was brown them and whip up the gravy. My kids loved it, even asked to have it in their school lunch thermos the next day. Total win for busy parents!

2 days ago

Saw this recipe pop up on my For You Page and decided to make it for my roommates on our weekly roommate dinner night. OMG we all ate way too much, the gravy is addictive. We ended up dipping garlic bread in the leftover gravy after we finished all the meatballs. Total game changer, I’m never buying frozen meatballs again.

just now

SO good. I’ve tried so many Swedish meatball recipes trying to replicate the IKEA ones and this is the first that’s actually better, no cap. The hint of allspice in the meatballs is perfect, and the gravy doesn’t get that weird gummy texture a lot of homemade versions get. 10/10 will be making this at least once a month