Swedish Meatballs
intro
Tender, spiced beef-pork meatballs smothered in silky cream gravy, served over buttery egg noodles for warm, nostalgic comfort food.
Ingredients
Steps
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.
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.
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.
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.
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).
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.
Tips
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.

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!
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
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.
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.
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
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?
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.
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.
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!
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.
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?
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?
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.
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!
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.
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