I don’t think I’ve met one person who doesn’t rave about IKEA’s Swedish meatballs. Let me let you in on a secret, though. You don’t have to trek across town and wait in that endless line; you can easily make them yourself at home! This homemade Swedish Meatball recipe brings big comfort in a budget-friendly way. I use a beef-and-pork blend—not only because it saves money, but also because that’s how authentic Swedish meatballs are traditionally made. If your family loves classic Italian meatballs, this creamy Swedish version is a fun change they’ll dig right into!

All recipes are rigorously tested in our Nashville Test Kitchen to ensure they are easy, affordable, and delicious.
“Great recipe! All the ratios and seasonings were just perfect (I’ve found with other recipes the gravy turns out too gluggy). The recipe was also extremely easy and only took me about 30 minutes to put together.”
Amy
From-Scratch Swedish Meatballs
Swedish meatballs have a long history that goes far beyond their modern-day association with IKEA, with their origins often linked to flavors brought from Turkey to Sweden centuries ago! Before I started making this dish at home, I grabbed the store-bought version more times than I can admit. They’re convenient, sure, but they never quite compare to this easy Swedish meatball recipe. The texture turns out tender, the seasoning tastes brighter, and the creamy gravy clings to every bite in the best way.
This easy copycat recipe uses simple ingredients like breadcrumbs, egg, onion (which I grate for added moisture), and classic spices like nutmeg and allspice to make the meatballs juicy, flavorful, and far better than you’d ever expect from such budget-friendly ingredients!
Recipe Tips & Suggestions
- Don’t overmix the meat. If you mix too much when combining the ground meat with the breadcrumb mixture, the meatballs can become quite tough when they’re cooked.
- The best ground meat for Swedish meatballs is a pork and beef mix. The beef brings richness, the pork keeps everything juicy, and the combination tastes amazing with the creamy gravy sauce. I buy a pre-mixed package when I can because it’s usually cheaper than buying them separately, but if your store doesn’t carry it, you can just use 1/2 lb. ground beef and 1/2 lb. ground pork instead.
- The seasoning mix I use here is pretty traditional for Swedish meatballs with warm spices like nutmeg, allspice, and garlic powder. You could also add cloves or dried herbs like parsley or thyme.
- I like to grate the onion so there aren’t any large chunks, and I usually chop up the last little piece for safety. The grated onion also adds flavor and moisture.
- Cook the sauce in the same pan you browned the meat in to get all that flavor the meatballs left behind!
- The butter and flour make a simple roux that thickens the sauce, so if it looks thin at first, just give it a little time. It’ll thicken the longer it simmers. Don’t let the sauce come to a boil, as this can cause it to separate.
- Got a bag of frozen Swedish-style meatballs in your freezer? Go ahead and cook them according to the package directions, then make the sauce from my recipe to bring everything to life. It’s an easy shortcut, though I promise my from-scratch meatballs win every time.
Swedish Meatballs
Cost $5.92 recipe / $1.48 serving
Ingredients
Meatballs
- ¼ cup plain breadcrumbs (35g, $0.08*)
- ¼ tsp ground nutmeg ($0.02)
- ¼ tsp allspice ($0.02)
- ¼ tsp garlic powder ($0.02)
- ½ tsp salt ($0.02)
- 1 lb. ground beef and pork blend (16 oz., $3.97**)
- ½ yellow onion (grated (80g, ⅓ cup) $0.20)
- 1 large egg (lightly whisked, $0.16)
- 1 Tbsp vegetable oil ($0.04)
Cream Sauce
- 3 Tbsp butter ($0.34)
- 4 Tbsp all-purpose flour (40g, $0.02)
- 2 cups beef broth ($0.26***)
- 1 tsp Worcestershire sauce ($0.02)
- ¼ tsp black pepper (freshly cracked, $0.04)
- ⅛ tsp ground nutmeg ($0.01)
- ⅓ cup heavy cream (2.67 oz., $0.44****)
- 1 Tbsp fresh parsley (chopped, $0.26)
Instructions
- Gather and prepare all ingredients.
- To make the meatballs, in a medium bowl, combine the breadcrumbs, ¼ tsp nutmeg, allspice, garlic powder, and salt.
- Meanwhile, add the beef and pork blend and grated onions to a large bowl. Lightly whisk the egg, then add it to the bowl with the meat. Lastly, add the breadcrumb mixture.
- Use your hands to mix the meat and seasonings until evenly combined, but avoid overmixing.
- Evenly divide and shape the meat mixture into 16 meatballs, about 1.5 Tbsp each (1.4 oz, 40g), packing tightly.
- Add the vegetable oil to a large skillet and heat over medium. Once hot, carefully add the meatballs. Cook for three minutes on each side, or until well browned. The meatballs do not need to be cooked through at this point. Remove the browned meatballs from the skillet and set aside. (My pan was large enough to cook all the meatballs at one time. Make sure not to overcrowd the pan and work in batches if necessary.)
- Add the butter and the flour to the skillet. Whisk the butter and flour together as the butter melts. Cook the butter and flour mixture for about two minutes.
- Slowly whisk in the beef broth, making sure to release all of the browned bits off the bottom of the skillet. Allow the broth to come up to a simmer, at which point it will thicken, 3-5 minutes.
- Stir in the Worcestershire sauce, pepper, nutmeg, and heavy cream. Taste the cream sauce and adjust the salt or seasonings to your liking.
- Return the meatballs to the skillet and stir to coat in the sauce. Heat the meatballs over low, stirring occasionally, until heated through, about 5 minutes.
- Garnish with fresh parsley and enjoy.
See how we calculate recipe costs here.
Equipment
- Dutch Oven or Large Skillet
Notes
Nutrition
How to Make Swedish Meatballs Step-by-Step Photos

Gather all of your ingredients.

Mix the seasonings: Add ¼ cup plain breadcrumbs, ¼ tsp nutmeg, ¼ tsp allspice, ¼ tsp garlic powder, and ½ tsp salt to a medium-sized bowl and combine.

Grate the onion: If you haven’t done this yet, go ahead and grate ½ a yellow onion. Use a knife to finely dice the last bit that’s too small to grate for safety! You need ⅓ cup of grated onion.

Make the Swedish meatballs: Add 1 lb. beef and pork blend and ⅓ cup grated onion to a separate bowl. Lightly whisk 1 large egg, then add it to the bowl with the meat. Then, add in the seasoned breadcrumb mixture.
Using your hands, mix the meat, onion, egg, and seasonings together until evenly combined. Be careful not to overwork the mixture as this can make the meatballs tough.

Evenly divide the mixture into 16 portions, using about 1.5 Tbsp for each one. They should weigh about 1.4 oz. (40 grams) each. Roll each portion between your palms until it forms a smooth, firm ball. I like to pack them a little tighter so they hold their shape well while cooking.

Brown the meat: Add 1 Tbsp vegetable oil to a large skillet and warm it over medium heat. When the oil is hot, carefully place the meatballs in the pan. Let them cook for about 3 minutes per side, or until they’re nicely browned. They don’t need to be cooked all the way through yet. Transfer the browned meatballs to a plate and set them aside.
My pan was large enough to cook all the meatballs at one time. Make sure not to overcrowd the pan and work in batches if necessary.

Make a roux: Add 3 Tbsp butter and 4 Tbsp flour to the skillet. As the butter melts, whisk them together until you have a smooth paste (a roux). Let it cook for about 2 minutes.

Make the creamy sauce: Slowly pour in 2 cups beef broth while whisking, scraping up any browned bits from the bottom of the pan. Bring the mixture to a gentle simmer and let it cook until it thickens, about 3-5 minutes. Be patient here!

Stir in 1 tsp Worcestershire sauce, ¼ tsp black pepper, ⅛ tsp nutmeg, and ⅓ cup heavy cream. Give the sauce a taste and adjust the salt or seasonings if you’d like. Do not let the sauce come to a boil now that the cream is added. Keep it at a gentle simmer.

Finish the dish: Add the meatballs back to the skillet and turn them in the sauce until they’re well coated. Keep the heat low and cook for about 5 minutes, stirring once in a while, until the Swedish meatballs are cooked and warmed through.

Serve: Finish with 1 Tbsp chopped fresh parsley and enjoy.

Serving Suggestions
Swedish meatballs are typically served with mashed potatoes, but they’re also great served over egg noodles or rice! I’d also add some roasted broccoli or, for a quicker option, sauteed green beans for a complete meal. If you want something a little more traditional, add a dollop of lingonberry jam on the side. It has a tart, red currant or cranberry-like flavor that tastes amazing with the creamy sauce. Leftover cranberry sauce from the holidays also works and makes a great stand-in.
Storage & Reheating
Store leftovers in an airtight container in the refrigerator for up to 3 days, or in the freezer for up to 3 months. If you’re reheating from the fridge, warm it gently on the stovetop or in the microwave until heated through. Add a little water or broth to thin the sauce if needed. For frozen leftovers, let them thaw in the fridge overnight before reheating.
More Meatball Recipes
Our Swedish Meatballs recipe was originally published 12/7/22. It was retested, reworked, and republished to be better than ever 12/1/25.








This was a delicious recipe, but I followed it to the letter and my meatballs weren’t fully cooked. I recommend fully cooking them before you remove them from the pan, and checking them temp with a meat thermometer
I made this yesterday but substituted half and half for the heavy cream and 1/2 t. pumpkin pie spice for the allspice and nutmeg. Turned out great – sauce is wonderful.
This is my favorite Swedish meatball recipe ever and I’ve tried a bunch!! It’s so savory and comforting. We eat it over egg noddles but mashed potatoes is good too!
Delicious Swedish Meatball dinner served! Thanks for the easy to follow recipe.
Look here y’all. If you have to go gluten free, cup4cup flour works fine in the roux, I also used Aeliea’s panko breadcrumbs and the Jovial brown rice egg tagliatelle pasta is perfect with it: https://jovialfoods.com/100-organic-gluten-free-brown-rice-pasta-egg-tagliatelle
I’m sure any unseasoned gf breadcrumb or gf flour will be fine and I HIGHLY recommend that pasta. This turned out delicious and I’m putting it in my regular rotation.
Like your receipes
What a great recipe! I only had half and half in my fridge and they still turned out delicious!
I made this tonight for my husband and I. It was delicious! Thanks for the recipe!!
We had these tonight, and I am pleased to share that they also go really well over Instant Pot risotto.
I doubled the meatballs but not the sauce, and we had a good proportion of each for both dinner and next-day leftovers.
Awesome! I used frozen meatballs and it was spectacular!
Delicious!
I had to make it dairy free, so I subbed Trader Joe’s buttery spread for the butter, and coconut milk for the cream.
The flavor was amazing, even better the next day. Will make again
Could I get some more insight on step 5, where the recipe says to cook for 1-2 mins on each side but they don’t have to be cooked through? I have made this recipe a few times now but my meatballs are always bright, bright pink-red in the center and never get as nicely browned as the picture. What am I doing wrong?
Sure, I’m glad to help! If they’re not getting that brown, then it sounds like you need to turn up the heat under your skillet a bit (every stove top is a little different, so sometimes you have to adjust). Make sure they get nice and brown when they’re in the skillet at that step and then later, when you add them back to the gravy, you’ll let them simmer more until they’re cooked through. You can either open one up to see if it’s cooked inside or try to use an instant read thermometer, but since the meatballs are so small that can be difficult. You really have a lot of flexibility in the simmer step, though, to make sure they cook through at that point. :)
Great recipe! All the ratios and seasonings were just perfect (I’ve found with other recipes the gravy turns out too gluggy). The recipe was also extremely easy and only took me about 30 minutes to put together.
I’ve made this twice and it’s so good!! This last time I only had beef and the recipe worked just fine. The whole family loved it.
I made this for my family last night and it was a huge hit! My husband said it its officially on his Top 5 list for dinners. I’m planning on making a double batch next time so I can have some meatballs in the freezer.