This post may contain affiliate links. Please read our disclosure policy.
These 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. The true secret is in the sauce: an outstanding creamy, rich gravy with a unique combination of allspice and nutmeg that really sets these apart. My entire family adores meatballs, and since these keep well in the fridge, they’re the perfect meal prep for the week ahead.
And with a quick sub to ghee instead of butter, these Easy Skillet Swedish Meatballs become a Whole30 meal! Making it the perfect meal to have prepped for your January Whole30 and one that anyone else in your household will enjoy even if they aren’t doing a Whole30 — a double win!
If you are wondering how to serve these meatballs are easiest over some store-bought egg noodles. For a great Whole30 option, you could serve them over Whole30 Mashed Potatoes. I love them paired with some roasted veggies or a big side salad for some greens alongside this dish.
Regardless, these are going to quickly become a go-to. If you love these meatballs, try some of my other favorite meatballs:
Easy Skillet Swedish Meatballs
For the Meatballs:
- 1 pound ground beef 90/10
- ½ pound ground pork
- 2 teaspoons Dijon mustard
- 2 tablespoons finely chopped parsley leaves plus more for garnish
- ¼ cup minced yellow onion
- 1 teaspoon garlic powder
- 1 teaspoon allspice
- ¼ teaspoon nutmeg
- ¼ teaspoon cayenne
- 1 teaspoon kosher salt
- ½ 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 sub ghee for paleo, Whole30 or vegan butter for dairy-free
- ¼ cup halved and thinly sliced shallot about 1 medium shallot
- 2 cloves garlic minced
- 2 tablespoons cassava flour
- 1 ½ cup low-sodium beef broth
- ½ cup full fat unsweetened coconut milk
- 2 teaspoons Dijon
- 1 tablespoon coconut aminos
- ½ teaspoon kosher salt more to taste
- ¼ freshly ground black pepper
- ¼ teaspoon allspice
- 1 tablespoon apple cider vinegar
Prepare the Meatballs:
- In a large bowl, combine the beef, pork, Dijon, parsley, onion, garlic powder, allspice, nutmeg, cayenne, salt, pepper, cassava flour, and egg. Mix until just combined, without over mixing the meat.
- Using a tablespoon or cookie scoop, measure out the meat mixture and roll into 1-inch balls.
- In a large, deep non-stick skillet, heat the oil over medium heat. Working in batches to keep from crowding the skillet, sear the meatballs in a single layer and cook until browned on all sides, about 2 minutes per side, or about 6 minutes per batch. 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 the excess fat, reserving 2 tablespoons. Then wipe the skillet with a paper towel to remove excess fat and overly browned bits.
Make the Gravy and Finish the Meatballs:
- In the same skillet, add the butter and the reserved fat. Once the butter is melted, add the shallot and garlic. Sauté until tender, about 2 minutes.
- Next, sprinkle the cassava over the shallot mixture and cook, stirring, to toast the flour, about 1 minute.
- While whisking, slowly pour in the beef broth 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, coconut aminos, salt, pepper, allspice, 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 a meatball with the sauce and add more salt, if desired. Serve as desired and top with additional parsley.
Nutrition information is automatically calculated, so should only be used as an approximation.
Photography and styling by Eat Love Eats.