Dinner Recipes

Easy Swedish Meatballs With Creamy Gravy in One Skillet

Swedish meatballs are a weeknight dish dressed up for company: tender beef rounds, a buttery brown gravy softened with cream, and a spoonful of tart jam on the side. I tested this recipe seven times over three weeks before I trusted it.

The early rounds taught me plenty. Dense meatballs, a gravy that tasted like raw flour, a pan full of scorched bits. The fixes were small. Breadcrumbs soaked in milk keep the beef soft. Cooked onion loses its raw bite. Allspice and a little nutmeg give these Swedish meatballs their warm, faintly sweet flavor, and the browned bits left in the skillet turn into the base of the sauce.

Everything happens in one pan, and dinner is on the table in about an hour. You get 36 meatballs, enough for six people. The only ingredient you may need to hunt for is lingonberry jam, and I have a swap for that too.

Skillet of Swedish meatballs in creamy brown gravy topped with fresh parsley on a rustic table
Table of Contents

Why You Will Love This Swedish Meatball Recipe

  • Dinner is done in about an hour, and only one skillet needs washing.
  • The meatballs stay soft because the breadcrumbs soak in milk before they ever touch the beef.
  • The gravy builds in the same pan, so every browned bit goes into the sauce.
  • Leftover Swedish meatballs improve on day two, once the allspice has settled into the gravy.
  • My daughter asked for these three days in a row, and she normally picks around anything covered in sauce.

Recipe Snapshot

  • Prep Time: 25 minutes
  • Cook Time: 40 minutes
  • Total Time: 1 hour 5 minutes
  • Servings: 6 (36 meatballs)
  • Difficulty: Easy
  • Calories per Serving: About 525
  • Key Ingredient or Tool: Ground allspice and a 12-inch skillet
  • Best For: Weeknight dinners, birthday parties, game day

Nutrition Information

Calories per Serving: About 525

Protein: 26 g

Carbs: 14 g

Fat: 40 g

Fiber: 1 g

Sugar: 3 g

Sodium: 523 mg

Serving Size: About 6 meatballs with a scant 1/2 cup gravy

Servings per Recipe: 6

Each serving gives you 26 grams of protein and only 14 grams of carbs, since the sole starch inside is 1/2 cup of breadcrumbs. Most of the fat comes from the beef and the cream, so a light, green side balances the plate.

Nutrition values are approximate and calculated per serving using standard ingredient amounts. Values may vary based on brands used and portion sizes. Noodles, potatoes, and jam are not included.

Ingredients for Swedish Meatballs

For the Meatballs

  • 1/2 cup plain dry breadcrumbs
  • 1/2 cup whole milk
  • 1 medium yellow onion, finely minced (about 2/3 cup)
  • 1 tablespoon unsalted butter
  • 1 1/2 pounds 85% lean ground beef
  • 1 large egg
  • 1 1/4 teaspoons Diamond Crystal kosher salt
  • 1/2 teaspoon ground allspice
  • 1/4 teaspoon freshly grated nutmeg
  • 1/2 teaspoon black pepper
  • 2 tablespoons neutral oil, such as canola or vegetable oil

For the Gravy

  • 2 tablespoons unsalted butter
  • 3 tablespoons all-purpose flour
  • 2 cups unsalted beef broth
  • 3/4 cup heavy cream
  • 1/2 teaspoon Diamond Crystal kosher salt
  • 1 teaspoon fresh lemon juice
  • Chopped fresh parsley and lingonberry jam, for serving

Three ingredients decide the result. Beef at 85% lean stays juicy, while 93% lean turns dry and crumbly. Ground allspice is the signature flavor, warm like clove and cinnamon, so measure it. Unsalted broth keeps the gravy from reducing into a salt bomb.

Swaps that work: panko (use 3/4 cup) for the breadcrumbs, half-and-half for the cream, and a pinch each of cinnamon and ground cloves if you have no allspice.

 Ingredients for homemade Swedish meatballs laid out flat, including ground beef, allspice, and heavy cream

Pro Tip: Diamond Crystal kosher salt is lighter by volume than Morton. If Morton is what you have, use 3/4 teaspoon in the meatballs and 1/4 teaspoon in the gravy.

Equipment Needed

  • 12-inch straight-sided skillet: holds 12 meatballs without crowding, then fits all the gravy.
  • Rimmed baking sheet lined with parchment: the meatballs firm up here without sticking.
  • 1 1/2 tablespoon cookie scoop: even meatballs cook at the same speed.
  • Instant-read thermometer: it takes the guessing out of doneness.
  • Flat whisk: it reaches the corners of the skillet and keeps the roux smooth.

Preparation

  • Stir the breadcrumbs and milk together in a large bowl and let them soak for 5 minutes.
  • Mince the onion, grate the nutmeg, and measure the spices into one small bowl.
  • Line the baking sheet with parchment and keep a bowl of cold water nearby for your hands.
  • Measure the broth, cream, flour, and lemon juice and set them beside the stove.
  • Keep the beef refrigerated until you need it. No oven preheat is needed.

Step-by-Step Instructions

  1. Melt 1 tablespoon butter in the skillet over medium heat and cook the onion for 4 to 5 minutes. Cool it on a plate for 5 minutes. Chef’s Note: Warm onion starts to cook the egg and beef, so wait until it looks soft and translucent.
  2. Add the cooled onion, egg, 1 1/4 teaspoons salt, allspice, nutmeg, and pepper to the soaked breadcrumbs and stir into a loose paste. Add the beef and mix with your hands for about 45 seconds. Chef’s Note: Overmixing makes bouncy meatballs, so stop as soon as the mixture looks even and slightly sticky.
  3. Scoop 1 1/2 tablespoons of mixture and roll it between damp palms into a ball about 1 1/4 inches wide. Set the meatballs on the lined sheet, 36 in all, and chill them for 10 minutes until they feel smooth and hold their shape.
Browning Swedish meatballs in a stainless skillet until golden, a key step in this easy recipe
  1. Wipe out the skillet, add the oil, and heat over medium-high for 2 minutes until it shimmers. Brown the meatballs in 3 batches of 12, turning every 90 seconds, for 5 to 6 minutes per batch until every side is deep golden brown. Chef’s Note: Crowding lowers the pan temperature, so leave a finger’s width between meatballs.
  2. Move the meatballs to a clean plate and pour off all but 1 tablespoon of fat, leaving the brown bits behind. Add 2 tablespoons butter and the flour, then whisk for 90 seconds until the paste turns pale gold and smells nutty.
  3. Whisk in the broth a splash at a time, scraping up the brown bits as you go. Stir in the cream, 1/2 teaspoon salt, and lemon juice, then simmer over medium heat for 3 minutes until the gravy coats the back of a spoon.
  4. Return the meatballs and their juices to the skillet. Simmer over medium-low heat for 8 to 10 minutes, turning once, until a thermometer in the center of a meatball reads 160°F. Chef’s Note: Look for small bubbles at the edges of the pan, not a rolling boil, or the cream can split.
  5. Take the skillet off the heat and let it rest for 5 minutes until the gravy turns thick and glossy. Finish with chopped parsley and serve with lingonberry jam.

Expert Tips and Tricks

  • On test number three I walked away while the flour cooked and the roux scorched. The bitter gravy went in the trash, so stay at the stove for those 90 seconds.
  • You can roll the Swedish meatballs up to 24 hours ahead. Cover the tray tightly, refrigerate, and add 1 to 2 minutes to the browning time.
  • Keep the mixture cold. Warm fat smears instead of staying in flecks, which makes a heavier meatball.
  • Boil your noodles while the meatballs simmer, so both finish at the same time.
  • Store noodles and meatballs in separate containers. Noodles drink the gravy overnight, while meatballs alone keep for 3 to 4 days in the refrigerator.
 Close-up of a halved Swedish meatball showing a tender, juicy center under silky cream gravy

Common Mistakes and Troubleshooting

Tough, Dense Swedish Meatballs

Overmixed meat packs tightly and turns rubbery. Mix for 45 seconds, no more, and use 85% lean beef. Already tough? Simmer them a few extra minutes in the gravy to soften.

Meatballs That Fall Apart in the Pan

They break when the mixture is too wet or the pan is crowded. Chill the shaped meatballs for 10 minutes and turn them only after a crust forms. If one cracks, press it back together.

Lumpy Gravy

Lumps happen when cold broth hits the roux all at once. Add it a splash at a time and whisk the whole time. If lumps already formed, pour the gravy through a fine strainer back into the skillet.

Greasy or Split Gravy

A hard boil or too much leftover fat breaks the cream. Pour off the extra fat before you add butter and keep the heat at medium-low. To fix it, whisk in 2 tablespoons of warm broth off the heat.

Storage Instructions

  • Room Temperature: Not recommended. Cooked food should not sit out longer than 2 hours, or 1 hour above 90°F.
  • Refrigerator: 3 to 4 days in an airtight glass container, with the meatballs resting in the gravy.
  • Freezer: Up to 3 months in a freezer-safe zip bag with the air pressed out. Cool completely, freeze flat, and thaw overnight in the refrigerator.
  • Reheating: Warm in a covered saucepan over medium-low heat for 10 to 12 minutes, stirring gently, until a meatball center reads 165°F. Add 2 to 3 tablespoons of broth if the gravy thickens.
  • Make-Ahead Notes: Brown the meatballs up to 1 day ahead and make the gravy right before dinner.

I freeze single portions of Swedish meatballs on a tray for 1 hour before bagging them. They stay separate, so I can grab exactly 6 meatballs for lunch.

Storage Trick: If thawed gravy looks grainy, warm it over low heat and whisk in 1 tablespoon of milk. It smooths out in about a minute.

Variations and Substitutions

  • Spicy: Stir 1/4 teaspoon cayenne into the meat mixture and 1/2 teaspoon smoked paprika into the roux.
  • Mild or Kid-Friendly: Cut the allspice to 1/4 teaspoon, skip the pepper, and roll 1-inch meatballs. Serve the gravy on the side.
  • Vegetarian Swedish meatballs: Swap the beef for 12 ounces of finely chopped cremini mushrooms, cooked until dry, plus 1 can (15 ounces) of mashed chickpeas. Use vegetable broth and bake the balls at 400°F for 20 to 22 minutes.
  • Gluten-Free: Use certified gluten-free breadcrumbs and a 1 to 1 gluten-free flour blend for the roux.
  • Oven-Baked: Bake the meatballs on the lined sheet at 400°F for 18 to 20 minutes until browned, then simmer them in the gravy for 5 minutes.

What to Serve With Swedish Meatballs

  • Buttered egg noodles: They catch the gravy in every curl and take 8 minutes to boil.
  • Potatoes: Mashed is classic, but crispy smashed potatoes add crunch that plays well against the soft meatballs.
  • Lingonberry jam: The tart fruit cuts through the cream. If you cannot find it, cranberry sauce gives the same sharp and sweet contrast.
  • Cucumber salad: A cold, crisp cucumber salad with a splash of vinegar resets your palate between bites.
  • Sparkling water with lemon: It keeps the meal light and refreshes after the rich gravy.
Plate of Swedish meatballs over egg noodles with lingonberry jam and cucumber salad for family dinner

Frequently Asked Questions

Can you make Swedish meatballs ahead of time?

Yes, Swedish meatballs taste better on day two. Brown the meatballs and make the gravy, cool everything within 2 hours, and refrigerate it in one airtight container for up to 4 days. Reheat on the stove for 10 to 12 minutes with a splash of broth. For parties, I cook the whole batch the night before, reheat it to 165°F, and hold it in a slow cooker on warm.

Why is my Swedish meatball gravy so thin?

Thin gravy usually means the roux was small or the sauce needs more simmering time. It also thickens as it cools, so check it after resting. Simmer 3 to 5 more minutes over medium heat, stirring often, until it coats a spoon. Still thin? Whisk 1 tablespoon of flour into 2 tablespoons of cold broth, stir it in, and simmer for 2 minutes.

What can I use instead of heavy cream in Swedish meatballs?

Half-and-half is the easiest swap. Use the same 3/4 cup and simmer an extra 2 minutes, since the gravy will be a bit thinner. Whole milk works too, but keep the heat low because milk curdles more easily. For a tangy twist, take the pan off the heat and stir in 1/3 cup of sour cream, then skip any further boiling. Either swap still makes tender Swedish meatballs.

How do you know when Swedish meatballs are done?

Use a thermometer, because color alone can mislead. Ground beef is safe at 160°F, so push an instant-read thermometer into the center of the largest meatball. After 8 to 10 minutes of simmering, the meatballs should feel firm and look browned outside. No thermometer? Cut one open and check that the middle is cooked through, with no raw, glossy red. The gravy should coat a spoon by then.

What is the difference between Swedish meatballs and regular meatballs?

Mostly the seasoning and the sauce. Swedish meatballs rely on allspice and nutmeg and sit in a brown cream gravy, while Italian meatballs lean on garlic, parsley, and cheese and simmer in tomato sauce. Milk-soaked breadcrumbs keep the texture very soft, and the meatballs stay small, about 1 1/4 inches wide. I serve mine with sweet-tart jam, which surprises first-time guests until the first bite.

Final Thoughts on Swedish Meatballs

The best thing about this dish is how forgiving it is once you know the three habits: soak the crumbs, brown without crowding, and keep the cream at a gentle simmer. Everything else is flexible, from the noodles to the jam. Keep a jar of lingonberry jam in the refrigerator and leftovers turn into a second dinner.

I made a double batch for my nephew’s birthday on a Saturday, and the tray was empty in about 20 minutes. Nobody asked what was in the gravy. They just asked for more.

If you loved this recipe, save it to your dinner recipes Pinterest board so you can find it easily later!

Skillet of Swedish meatballs in creamy brown gravy topped with fresh parsley on a rustic table

Easy Swedish Meatballs With Creamy Gravy in One Skillet

Tender beef meatballs spiced with allspice and nutmeg, simmered in a buttery cream gravy in one skillet. Serve them over egg noodles with lingonberry jam.
Prep Time 25 minutes
Cook Time 40 minutes
Total Time 1 hour 5 minutes
Servings: 6 About 6 meatballs with a scant 1/2 cup gravy
Course: Main Course
Cuisine: Swedish
Calories: 525

Ingredients
  

For the meatballs:
  • 1/2 cup plain dry breadcrumbs
  • 1/2 cup whole milk
  • 1 medium yellow onion finely minced (about 2/3 cup)
  • 1 tablespoon unsalted butter
  • 1 1/2 pounds 85% lean ground beef
  • 1 large egg
  • 1 1/4 teaspoons Diamond Crystal kosher salt
  • 1/2 teaspoon ground allspice
  • 1/4 teaspoon freshly grated nutmeg
  • 1/2 teaspoon black pepper
  • 2 tablespoons neutral oil such as canola or vegetable oil
For the gravy:
  • 2 tablespoons unsalted butter
  • 3 tablespoons all-purpose flour
  • 2 cups unsalted beef broth
  • 3/4 cup heavy cream
  • 1/2 teaspoon Diamond Crystal kosher salt
  • 1 teaspoon fresh lemon juice
  • Chopped fresh parsley and lingonberry jam for serving

Equipment

  • 12-inch straight-sided skillet
  • Rimmed baking sheet lined with parchment
  • 1 1/2 tablespoon cookie scoop
  • 1 1/2 tablespoon cookie scoop
  • Flat whisk

Method
 

  1. Melt 1 tablespoon butter in the skillet over medium heat. Cook the onion for 4 to 5 minutes until soft and translucent, then cool it on a plate for 5 minutes.
  2. Soak the breadcrumbs in the milk for 5 minutes. Stir in the cooled onion, egg, 1 1/4 teaspoons salt, allspice, nutmeg, and pepper until a loose paste forms. Add the beef and mix with your hands for about 45 seconds, until the mixture looks even and slightly sticky.
  3. Scoop 1 1/2 tablespoons of mixture and roll it between damp palms into a ball about 1 1/4 inches wide. Set 36 meatballs on the parchment-lined sheet and chill for 10 minutes until smooth and set.
  4. Wipe out the skillet, add the oil, and heat over medium-high for 2 minutes until it shimmers. Brown the meatballs in 3 batches of 12, turning every 90 seconds, for 5 to 6 minutes per batch, until deep golden brown on every side. Move them to a clean plate.
  5. Pour off all but 1 tablespoon of fat. Add 2 tablespoons butter and the flour, then whisk for 90 seconds until the paste is pale gold and smells nutty.
  6. Whisk in the broth a splash at a time, scraping up the brown bits. Stir in the cream, 1/2 teaspoon salt, and lemon juice, then simmer over medium heat for 3 minutes until the gravy coats the back of a spoon.
  7. Return the meatballs and their juices to the skillet. Simmer over medium-low heat for 8 to 10 minutes, turning once, until a thermometer in the center of a meatball reads 160°F. Keep to small bubbles, not a rolling boil.
  8. Take the skillet off the heat and rest for 5 minutes until the gravy is thick and glossy. Top with parsley and serve with lingonberry jam.

Notes

Use 85% lean ground beef and unsalted beef broth for juicy meatballs and a gravy that is not too salty.
Using Morton kosher salt? Use 3/4 teaspoon in the meatballs and 1/4 teaspoon in the gravy.
Storage: refrigerate leftovers in an airtight container for 3 to 4 days, or freeze for up to 3 months.

Leave a Comment

Your email address will not be published. Required fields are marked *

Recipe Rating




Scroll to Top