This post may contain affiliate links. Please read our disclosure policy.
These Easy Skillet Swedish Meatballs are sure to become part of your weekly menu. They are warm, cozy, and the perfect family dinner for any night of the week.

I know Swedish meatballs are everyone’s favorite IKEA menu item, but you can also make them at home for the perfect savory and comforting weeknight dinner, or even as an appetizer for hosting. The magic is in the sauce: an outstanding creamy, rich gravy with a unique combination of allspice and nutmeg that really sets these apart from other types of meatballs. And with a quick sub to ghee instead of butter, these Easy Skillet Swedish Meatballs become a Whole30 meal!
Swedish meatballs are traditionally served with store-bought egg noodles, but they’re also great served over my Whole30 Mashed Potatoes or alongside some roasted veggies or a big side salad.
ingredients:
- Ground Beef
- Ground Pork
- Dijon Mustard
- Fresh Parsley
- Yellow Onion
- Garlic Powder
- Ground Allspice
- Freshly Grated nutmeg
- Cayenne Pepper
- Kosher Salt
- Freshly Ground Black Pepper
- Cassava Flour
- Egg
- Extra Virgin Olive Oil
- Salted Butter
- Shallot
- Low-Sodium Beef Broth
- Full-Fat Unsweetened Coconut Milk
- Coconut Aminos
- Apple Cider Vinegar
step-by-step:
step one: make the meatball mixture
In a large bowl, combine the beef, pork, Dijon mustard, parsley, onion, garlic powder, allspice, nutmeg, cayenne pepper, salt, pepper, cassava flour, and egg. Mix until just combined.
step two: shape the meatballs
Use a tablespoon or small cookie scoop to form and shape 1-inch balls.
step three: cook the meatballs
Heat the oil in a large, deep non-stick skillet set over medium heat. Working in batches to avoid overcrowding, sear the meatballs in a single layer and cook until browned on all sides, about 2 minutes per side. Transfer the cooked meatballs to a paper towel-lined plate, and continue cooking the rest of the meatball, adding more oil to the pan if it becomes dry. Set aside.
step four: saute the shallot and garlic
Discard all but 2 tablespoons of excess fat. Melt the butter in the same skillet. Add the shallot and garlic and sauté until tender, about 2 minutes.
step five: add the flour
Add the cassava flour and cook, stirring, to toast the flour, about 1 minute.
step six: make the gravy
Slowly pour in the beef broth, whisking constantly, until well incorporated and smooth. Add the coconut milk and continue to whisk until well incorporated. Bring the gravy to a simmer, then reduce to a light simmer, about medium-low heat, until you see the sauce start to thicken, about 2 minutes.
step seven: add the seasonings
Add the Dijon mustard, coconut aminos, salt, pepper, allspice, and apple cider vinegar and stir to combine. Nestle the meatballs back into the skillet. Continue to cook, uncovered and simmering, until meatballs are cooked through, 6 to 7 minutes.
step eight: garnish and serve
Taste and season with more salt, if needed. Garnish with additional parsley and serve.

Whether you’re hosting a game day watch party or entertaining during the holidays, my Easy Skillet Swedish Meatballs need to be on your menu. Leave a comment and let me know what you think of this recipe!
looking for more delicious meatball recipes? try these!
Meatballs with Basil and Burst Tomatoes
Gluten-Free Chicken Piccata Meatballs
Whole30 Chicken Enchilada Meatballs

Easy Skillet Swedish Meatballs
Ingredients
For the Meatballs:
- 1 pound (90/10) ground beef
- 1/2 pound ground pork
- 2 teaspoons Dijon mustard
- 2 tablespoons finely chopped parsley leaves, plus more for garnish
- 1/4 cup finely diced yellow onion
- 1 teaspoon garlic powder
- 1 teaspoon ground allspice
- 1/4 teaspoon freshly grated nutmeg
- 1/4 teaspoon cayenne pepper
- 1 teaspoon kosher salt
- 1/2 teaspoon freshly ground black pepper
- 2 tablespoons cassava flour
- 1 large egg, beaten
- 2 tablespoons extra virgin olive oil, plus more as needed
For the Gravy:
- 4 tablespoons salted butter
- 1/4 cup halved and thinly sliced shallot (from about 1 medium shallot)
- 2 garlic cloves, minced
- 2 tablespoons cassava flour
- 1½ cups low-sodium beef broth
- 1/2 cup full fat unsweetened coconut milk
- 2 teaspoons Dijon mustard
- 1 tablespoon coconut aminos
- 1/2 teaspoon kosher salt, plus more to taste
- 1/4 freshly ground black pepper
- 1/4 teaspoon ground allspice
- 1 tablespoon apple cider vinegar
Instructions
- In a large bowl, combine the beef, pork, Dijon mustard, parsley, onion, garlic powder, allspice, nutmeg, cayenne pepper, salt, pepper, cassava flour, and egg. Mix until just combined.
- Use a tablespoon or small cookie scoop to form and shape 1-inch balls.
- Heat the oil in a large, deep non-stick skillet set over medium heat. Working in batches to avoid overcrowding, sear the meatballs in a single layer and cook until browned on all sides, about 2 minutes per side. Transfer the cooked meatballs to a paper towel-lined plate, and continue cooking the rest of the meatball, adding more oil to the pan if it becomes dry. Set aside.
- Discard all but 2 tablespoons of excess fat. Melt the butter in the same skillet. Add the shallot and garlic and sauté until tender, about 2 minutes.
- Add the cassava flour and cook, stirring, to toast the flour, about 1 minute.
- Slowly pour in the beef broth, whisking constantly, until well incorporated and smooth. Add the coconut milk and continue to whisk until well incorporated. Bring the gravy to a simmer, then reduce to a light simmer, about medium-low heat, until you see the sauce start to thicken, about 2 minutes.
- Add the Dijon mustard, coconut aminos, salt, pepper, allspice, and apple cider vinegar and stir to combine. Nestle the meatballs back into the skillet. Continue to cook, uncovered and simmering, until meatballs are cooked through, 6 to 7 minutes.
- Taste and season with more salt, if needed. Garnish with additional parsley and serve.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Photography and styling by Eat Love Eats.




So good! I used pre-made meatballs to cut the time in half (I have 7 month old twins 😰) and it was a quick, easy, and such a yummy dinner!
LOve TO HEAR THAT! Glad you enjoyed!
Hey Alex,
My family loves this recipe! My husband has requested I make it for his family for Easter. So I would need to make it the night before and reheat it the next day at my mother in laws house. How would you suggest the best method for that? Also I will need to double it. Would you suggest just double everything or make two separate and add them together at the end?
Thanks
Carmen
Hi Carmen- yes if you double, you can just double the ingredients and make in one dutch oven. You’ll just have a lot more batches of browning. Then double the sauce and add them back in!
To reheat, I suggest reheating stove top over medium-low until they heat back through!
These were delicious. Can I bake them in the oven next time instead of cooking them on the pan?
Sure!!
I made this recipe tonight for the first time for Valentine’s Day and WOW! It was delicious! I just finished the January W30 and am in reintroduction phase. I used almond flour in the meatballs and regular white ap flour in the sauce. It was a hit with the whole family. My 18 month old loved it, and so did my picky 3 year old! I served with roasted yellow potatoes and steamed broccoli. I can’t wait to add this into our recipe rotation!
So happy you loved it, Cara!
Made these for dinner & can’t stop swooning over them! The flavor of the meatballs & gravy are 10/10 – beyond delish!! So cozy and comforting. Served with mashed potatoes & it was the perfect combo. Thank you Alex for another incredible recipe!
Made these tonight and they were great! I’m doing Whole30 so I made with cauliflower rice.Which was delicious. But I think next time I will make with mashed potatoes because the gravy was ‘Chef’s kiss’ !
So happy you loved them! yes, mashed potatoes is the ultimate way to serve them!
How would you suggest preparing/heating this a few hours ahead of time for a dinner party? Can the sauce be made ahead of time and reheated?
Hi! yes you can definitely do this! You could even put it all in a crockpot on low heat to keep warm until ready to serve if it’s just an hour or 2.
So YUM!!! I used corn starch bc we are gluten free but I didn’t have cassava on hand— 10/10! Even our super picky 2.5 year old asked for not just seconds but thirds!
We loved this! Doubled it and froze the second batch and it made for a super easy re-heat meal one weeknight! We ate it with mashed sweet potatoes and loved. Also I snuck a 5oz bag of spinach into the gravy/sauce for extra greens and nobody in my fam noticed lol. Super good and great comfort-food meal. Was a tiny bit spicy for my 1 year old but he’s on a strict no-spiciness kick right now :/ next time I’ll leave out the cayenne and see what he thinks!
Another 5 star recipe Alex!! Thank you for this-everyone in my family (including 3 teens) ate and loved it. Confession: I did not make the meatballs from scratch (I’m sure they’re delicious), so I just used store bought ones, basked them in the oven and then added them in the gravy at the end. Appreciate this healthier option! Will definitely be making these on repeat 😉
haha sometimes semi-homemade is better than not at all! can always try with homemade meatballs next time. thanks for commenting!
So glad you enjoyed it!! Great way to short cut, the sauce is really the show stopper, anyway! 🙂
Absolutely delicious!!! So many wonderful flavors and bonus that it was a comfort meal! Reminded me of our favorite Steak Au Poivre 😉 Thank you, Alex, for creating these exceptional recipes for our families to enjoy!
Thank you so much for the comment, Suzie! Glad you enjoyed.